دالة PHP str_replace()
مثال
تبديل الحرف "world" في النص "Hello world!" إلى "Shanghai":
<?php echo str_replace("world","Shanghai","Hello world!"); ?>
التعريف والاستخدام
تتبع دالة str_replace() بعض الأحرف في النص (تفصل بين الحروف الكبيرة والصغيرة).
الدالة يجب أن تتبع القواعد التالية:
- إذا كان النص البحثي مصفوفة، فإنه سيقوم بتسليم مصفوفة.
- إذا كان النص البحثي مصفوفة، فإنه سيبحث وتبديل لكل عنصر في المصفوفة.
- إذا كان يجب البحث والتغيير في المصفوفة، وكان عدد العناصر التي يجب تغييرها أقل من عدد العناصر الموجودة، فإن العناصر الزائدة ستتم تغييرها بسلسلة فارغة.
- إذا كان البحث في مصفوفة، والتبديل في سلسلة، فإن السلسلة التبديلية ستؤثر على جميع القيم الموجودة.
التعليقات:الدالة تفصل بين الحروف الكبيرة والصغيرة. استخدم str_ireplace() يبحث الدالة دون التفرقة بين الحروف الكبيرة والصغيرة.
التعليقات:الفقرة هي آمنة ثنائية.
فوسیسی
str_replace(find,replace,string,count)
پارامترها | توضیح |
---|---|
find | ضروری. ارزشی که باید جستجو شود تعیین میکند. |
replace | ضروری. جایگزینی تعیین میکند. find ارزشهای موجود در |
string | ضروری. رشتهای که باید جستجو شود تعیین میکند. |
count | اختیاری. متغیری برای شمارش تعداد جایگزینیها. |
جزئیات فنی
ارزش بازگشتی: | به عبارت دیگر، رشتهای با ارزش جایگزینی یا آرایهای از این ارزشها بازمیگرداند. |
ورژن PHP: | 4+ |
لوگ تغییرات: |
در PHP 5.0، به بعد count پارامترها. قبل از PHP 4.3.3، پارامترهای find و replace وقتی که همه پارامترها آرایه باشند، ممکن است مشکلاتی رخ دهد که منجر به ایجاد آرایههای خالی میشود find پایگاه اشارهگر درونی به جایگزینی تغییر نکرده است replace در آرایهها نادیده گرفته میشوند. نسخههای جدید این مشکل را نخواهند داشت. از PHP 4.0.5 به بعد، بیشتر پارامترها میتوانند آرایه باشند. |
مثالهای بیشتر
مثال 1
استفاده از آرایهها با count فونکشن str_replace() متغیرها:
<?php $arr = array("blue","red","green","yellow"); print_r(str_replace("red","pink",$arr,$i)); echo "عدد جایگزینی: $i"; ?>
مثال 2
استفاده از str_replace() فونکشنی که تعداد عناصر نیاز به جایگزینی کمتر از تعداد یافتشده است:
<?php $find = array("Hello","world"); $replace = array("B"); $arr = array("Hello","world","!"); print_r(str_replace($find,$replace,$arr)); ?>