توابع str_replace() در PHP
مثال
جایگزینی کاراکتر "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)); ?>