| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| استبدال النصوص في PHP إخوتي الأفاضل ،، اليوم جايب لكم دالة مفيدة كمان هذي الدالة ظهرت منذ إصدارة PHP3.0.6 وفي إصدارات PHP4 منذ PHP4.0.0 فما فوق وظيفة هذي الدالة هي استبدال النصوص من النوع الثنائي Binary في المتغيرات .. اسم الدالة : str_replace بكل سهولة سنخزن نص في متغير ونستبدل إحدى الكلمات في هذا النص بكلمة أخرى .. الصيغة العامة للدالة: كود PHP: وإنما هذا توضيح للدالة، فإن هذه الدالة تحتاج إلى 3 باراميترات تمرر إليها.. الأول هو النص الثنائي الذي نريد البحث عنه لنستبدله بشيء آخر، واسم هذا المتغير هو search وهو من نوع mixed .. الثاني هو النص الثنائي الذي نريد استبدال النص الأول به، أي نريد حذف النص الأول ونضع بدلاً منه النص الثاني،، واسم هذا المتغير replace وهو من نوع mixed .. الثالث هو النص كاملاً، أو المتغير الكامل الذي نريد البحث والاستبدال فيه ، واسم هذا المتغير هو subject وهو من نوع mixed .. والدالة كاملة من نوع mixed أيضاً، لاحظ ذلك في بداية الجملة .. عوضاً عن هذه المقدمات، يمكنك المتابعة بالشرح حيث سيكون سهلاً إن شاء الله تعالى ؛ الآن نريد تخزين قيمة نصية ثنائية Binary معينة في متغير وليكن اسمه text$ ثم نستبدل جزء منه بنص آخر.. المثال التالي (الكود) سيوضح ويسهل المهمة إن شاء الله تعالى: كود PHP: This is sBForum website,, welcome here!! ثم قمنا بالبحث عن This is واستبدالها بـ You are in في المتغير text$ وتخزين الناتج في نفس المتغير وحذف النص السابق .. ثم قمنا بطباعة الناتج فأصبح هكذا: You are in sBForum website,, welcome here!! وهكذا قمنا بعملية استبدال بسيطة ..!! من بداية إصدارة PHP4.0.5 فما فوق ، أصبح بالإمكان استخدام المصفوفات في جميع باراميترات دالة str_replace فمثلاً إذا كان الباراميتر المسمى subject - وهو المتغير الذي نبحث فيه - عبارة عن مصفوفة Array فإن عملية البحث ستتم في جميع مدخلات المصفوفة (جميع عناصرها).. وسيكون الناتج أيضاً عبارة عن مصفوفة .. هل ترغبون في طرح مثال لذلك؟؟ هيا بنا... كود PHP: يتم أولاً طباعة محتويات المصفوفة على الشاشة .. ثم يتم استبدال كلمة four بالرقم 4 في جميع هذه الجمل (العناصر).. ثم يتم طباعة العناصر بعد الاستبدال.. لاحظ الاختلاف بين طباعة عناصر المصفوفة في المرة الاولى وبين طباعة عناصر نفس المصفوفة بعد الاستبدال.. في العنصر الأول كانت الجملة : There are four things بعد الاستبدال أصبحت: There are 4 things الجملة الثانية: This is the fourth thing بعد الاستبدال: This is the 4th thing الجملة الثالثة: I'm the fourth in my family بعد الاستبدال: I'm the 4th in my family العنصر الرابع (الأخير): four بعد الاستبدال: 4 وهكذا أصبح لدينا مثالين كافيين لفهم كيفية الاستبدال بواسطة دالة str_replace .. ما رأيكم أن نأخذ الآن مثالاً بحيث إذا كان الباراميتر search وreplace عبارة عن مصفوفات ؟؟! هيا بنا الآن إذاً .. كود PHP: Hi all, how are you?? ثم قمنا بتعريف مصفوفتين، الاولى تتضمن الكلمات التي نريد البحث عنها في المتغير text$ والثانية تتضمن الكلمات التي نريد استبدال الكلمات التي بحثنا عنها بها .. فالكلمة الأولى المبحوث عنها هي Hi وستستبدل بكلمة Hello والكلمة الثانية المبحوث عنها هي you وسوف تستبدل بـ u يمكنك أيضاً زيادة عدد الكلمات المبحوث عنها عن طريق زيادة عدد عناصر المصفوفة الأولى search$ ثم زيادة عدد عناصر المصفوفة الثانية replace$ ولكن، ماذا إذا كانت عدد عناصر المصفوفة الثانية أقل من الأولى؟؟ إذا حصل ذلك، فإن مترجم PHP سيعتبر أن العناصر الناقصة هي عبارة عن عناصر خالية وسيتم استبدال العناصر المقابلة لها بقيم فارغة.. .. أما إذا كانت المدخلات المبحوث عنها في الباراميتر search$ عبارة عن مصفوفة والمدخلات البديلة في الباراميتر replace$ عبارة عن متغير عادي (لا مصفوفة) فإن عناصر المصفوفة ستستبدل جميعها بنفس العنصر الوحيد الموجود في الباراميتر replace$ وفي الختام، اعذروني على التقصير في الشرح،، وأي نقطة غير واضحة أرجو أن تسأل عنها، فذلك يسرني جداً ..!! تحياتي للجميع والسلام عليكم ورحمة الله وبركاته
__________________ أحمد أبو النصر Junior php Developer +20166196074 | |||||
|
![]() |
| |
| |
| أدوات الموضوع | |
| |