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

براي استخراج قسمتي از يک رشته مي توان از متد ()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” را جايگزين آنها مي کند.

لطفا اگر نظر، پیشنهاد و یا انتقادی در باره مطلب بالا دارید در قسمت زیر مطرح بفرمایید.