substr_replace
با جایگزینی زیررشته با substr_replace می توانی بخشی از متن را عوض کنی. «زیررشته (Substring)» یعنی تکه ای از رشته. مثل عوض کردن "world" با "earth" در جمله.
تعریف کوتاه
تابع substr_replace() بخشی از رشته را با رشته ای دیگر جایگزین می کند. این تابع باینری سیف است.
نکته: اگر start منفی و length ≤ start باشد، مقدار length صفر می شود.
سینتکس
substr_replace(string|array $string, string|array $replacement, int|array $start, int|array|null $length = null): string|array
مثال 1 — جایگزینی کامل از شروع
<?php
echo substr_replace("Hello", "world", 0);
?>
مثال 2 — جایگزینی از موقعیت مشخص
از کاراکتر ششم، "world" را با "earth" عوض کن.
<?php
echo substr_replace("Hello world", "earth", 6);
?>
مثال 3 — شروع منفی از انتهای رشته
از پنج کاراکتر مانده به انتها، جایگزین انجام بده.
<?php
echo substr_replace("Hello world", "earth", -5);
?>
مثال 4 — درج به جای جایگزینی
وقتی length صفر است، متن جدید درج می شود.
<?php
echo substr_replace("world", "Hello ", 0, 0);
?>
مثال 5 — جایگزینی روی چند رشته باهم
آرایه ای از رشته ها بده و همگی را تغییر بده.
<?php
$replace = array("1: AAA", "2: AAA", "3: AAA");
echo implode("\n", substr_replace($replace, "BBB", 3, 3));
?>
رفتار پارامترها
start >= 0: از همان موقعیت شروع می کند.start < 0: از انتهای رشته می شمارد.length > 0: همان مقدار کاراکتر حذف می شود.length = 0: فقط درج انجام می شود.length < 0: آن قدر کاراکتر در انتها باقی می ماند.
نکته: همه پارامترها می توانند آرایه باشند. خروجی نیز آرایه می شود.
گام های عملی
- رشته ی اصلی را مشخص کن.
- رشته ی جایگزین را بنویس.
startو در صورت نیازlengthرا تعیین کن.
برای بریدن متن ببین: substr. برای ترجمه کاراکترها ببین: strtr. برای بزرگ نویسی ببین: strtoupper.
جمع بندی سریع
- جایگزینی با کنترل موقعیت انجام می شود.
- با
length=0درج می کنی. - شروع منفی از انتها می شمارد.
- پارامترها می توانند آرایه باشند.