استخراج، حذف و جایگزین کردن رشته ها

براي استخراج قسمتي از يک رشته می‌توان از متد ()substr استفاده کرد. اين متد سه آرگومان قبول می‌کند که اولین آرگومان رشته اصلی؛ دومین آرگومان انديس شروع و ديگري طولي از رشته را که می‌خواهیم استخراج کنيم را نشان می‌دهد. به مثال زير توجه کنيد.

<?php
    $str1 = "This is a sample string.";
    
    $str2 = substr($str1,10,6);

    echo $str2 . '<br/>';    
?>
sample

استخراج را از انديس 10 شروع کرده‌ایم (آرگومان دوم که عدد 10 است). همانطور که مشاهده می‌کنید کلمه “sample” از انديس 10 شروع شده است (کاراکتر يازدهم). آرگومان سوم نشان می‌دهد که ما چند کاراکتر را می‌خواهیم استخراج کنيم. ازآنجاييکه عدد 6 را براي اين آرگومان در نظر گرفته اين 6 کاراکتر از رشته مورد نظر استخراج می‌شود. اگر نخواهيد که مکان قرار گرفتن کلمه “sample” را به صورت دستي شمارش کنيد می‌توانید با استفاده از متد ()strpos اين کار را انجام دهيد.

$str2 = substr($str1,strpos($str1, "sample"),6);

يکي ديگر ازسربارگذاريهاي متد ()substr فقط دو آرگومان که اولین آرگومان رشته اصلی و دومین آرگومان انديس شروع را قبول می‌کند در نتيجه استخراج از اين انديس شروع شده و تا پايان رشته ادامه می‌یابد.

حذف و جایگزین کردن رشته‌ها با استفاده از متد str_replace

براي حذف رشته‌ها می‌توان از متد ()str_replace استفاده کرد. این متد چهار پارامتر می‌گیرد. پارامتر اول عبارتی است که باید جست و جو شود، می‌تواند رشته (string) یا آرایه (array) باشد. پارامتر دوم عبارتی است که باید بجای رشته پیدا شده قرار بگیرد، می‌تواند رشته (string) یا آرایه (array) باشد. پارامتر سوم محتوای رشته‌ی اصلی است که عملیات Replace روی آن انجام می‌گیرد. پارامتر چهارم اگر مشخص شود تعداد جاگذاری‌های انجام شده را بصورت عددی برمیگرداند. این پارامتر از نسخه ۵٫۰٫۰ به بعد وجود دارد.

<?php
    $str1 = "This is a sample string.";
    echo $str1 . '<br/>';
	
    echo "Removing sample..." . '<br/>';
	
    $str1 = str_replace("sample", "", $str1);
    echo $str1 . '<br/>';   
?>
This is a sample string.
Removing "sample "...
This is a string.

در مثال بالا چون کلمه sample را حذف کرده‌ایم. چون پارامتر دوم تهی است و حتی فضای خالی هم نیست. به مثال دوم که در زیر آمده است توجه کنید :

<?php
    $str1 = "That dog is a lovely dog.";
    echo $str1 . '<br/>';
    
    echo "Replacing all dogs with cats..." . '<br/>';
    
    $str1 = str_replace("dog", "cat", $str1);
    echo $str1 .'<br/>';    
?>
That dog is a lovely dog.
Replacing all dogs with cats...
That cat is a lovely cat.

در مثال بالا متد ()str_replace تمام کلمات “dog” واقع در رشته را پيدا کرده و کلمه “cat” را جايگزين آن‌ها می‌کند.