首頁  >  文章  >  後端開發  >  帶你快速掌握PHP字串的替換(實例詳解)

帶你快速掌握PHP字串的替換(實例詳解)

WBOY
WBOY原創
2021-11-04 15:20:195187瀏覽

在先前的文章《PHP中轉義字串的方法與還原(實例詳解)》中我們詳細的介紹了PHP中轉義字串應該怎樣操作還有怎樣還原的相關知識,這篇我們來看看PHP中字串替換的相關知識,希望對大家有幫助!

帶你快速掌握PHP字串的替換(實例詳解)

在前一篇文章中我們講到了可以透過addslashes() 函數和stripslashes() 函數來對字符串進行轉義和還原操作,對字串進行轉義這是在開發過程中很常見的操作,同樣的對字串的替換操作也是十分常見的。

在PHP想要完成一個字串的替換或一個字串特定字元的替換,可以透過PHP提供的substr_replace 函數與 str_replace 函數。這兩個函數應該要怎麼去使用,兩者又有什麼分別,接下來讓我們一起來看看。

<strong><span style="font-size: 20px;">substr_replace()</span></strong>#函數-取代字串的一部份

想要在PHP中替換字串的一部分的話,可以透過PHP提供的substr_replace()函數,substr_replace()函數得基本語法格式如下:

substr_replace(string,replacement,start,length)

其中需要注意的是,參數string表示的是需要進行替換的字串,參數replacement表示的是要插入的字串,也就是要替代的字符串,參數start表示的是從那個位置開始替換字串,參數length表示替換的長度。

參數start是正數的話,替換的位置就從參數start的位置開始算,若參數start是負數的話,參數的替換位置從結尾開始到start的位置開始算。若是0的話就從第一的位置開始。

參數length若是正數的話,表示被替換字元數的長度,若是負數的話,表示待替換的子字串結尾處距離 string 末端的字元個數,若是0的話就表示直接插入而不是替換。還有就是如果 start 是負數且 length 小於等於 start ,則 length 為 0

該函數傳回的結果就是被替換的字串。

下面我們透過範例來看substr_replace()函數的使用,範例如下:

<?php
$str = &#39;abcdef&#39;;
$replace = &#39;###&#39;;
echo substr_replace($str, $replace, 0,5);
echo &#39;<br/>&#39;;
echo substr_replace(&#39;abcdef&#39;, &#39;###&#39;, 1);    //输出 a###
echo &#39;<br/>&#39;;
echo substr_replace(&#39;abcdef&#39;, &#39;###&#39;, 1, 2); //输出 a###def
echo &#39;<br/>&#39;;
echo substr_replace(&#39;abcdef&#39;, &#39;###&#39;, -3, 2);    //输出 abc###f
echo &#39;<br/>&#39;;
echo substr_replace(&#39;abcdef&#39;, &#39;###&#39;, 1, -2);    //输出 a###ef
?>

輸出結果:

帶你快速掌握PHP字串的替換(實例詳解)

上述範例中,透過substr_replace()函數能夠完成替換字串的一部分,接下來我們來看看str_replace 函數的使用。

<strong><span style="font-size: 20px;">str_replace</span></strong># 函數

##上文我們已經能夠通過

substr_replace()函數來把字串的一部分替換為另一個字串,而str_replace 函數能夠使用一個字串取代字串中的另一些字符,str_replace 函數的基本語法格式如下:

str_replace(find,replace,string,count)

其中我們需要注意的是,參數

find表示要尋找的值,參數replace表示要取代尋找的值,參數string表示規定被搜尋的字串,參數count表示對替換數進行計數的變數。

該函數的回傳值就是帶有替換值的字串或數組,接下來我們透過範例來看str_replace 函數的使用,範例如下:

<?php
echo str_replace("world","earth","Hello world!") . &#39;<br/>&#39;;       //输出 Hello earth!
//替换多个,且第二个参数为空字符
echo str_replace("o","","Hello world!") . &#39;<br/>&#39;;            //输出 Hell wrld!
//使用数组
$arr = array("e", "o");
$arr2 = array("x", "y");
echo str_replace($arr, $arr2, "Hello World of PHP", $i) . &#39;<br/>&#39;;    //输出 Hxlly Wyrld yf PHP
echo $i;                            //输出4 
?>

輸出結果:


帶你快速掌握PHP字串的替換(實例詳解)

上述範例中便是透過str_replace 函數使用一個字串取代字串中的另一些字符,下面我們再看一個範例:

<?php
$arr = array("blue","red","green","yellow");
print_r(str_replace("red","pink",$arr,$i));
echo &#39;<br/>&#39; . "替换数:$i" . &#39;<br/>&#39;;
$find = array("Hello","world");
$replace = array("B");
$arr1 = array("Hello","world","!");
print_r(str_replace($find,$replace,$arr1));
?>

輸出結果:


帶你快速掌握PHP字串的替換(實例詳解)

如此便是透過str_replace 函數使用具有需要替換的元素少於查找到的元素。

上文中

str_replace 函數與substr_replace()函數都能夠達到替換字串的目的,如果是進行大小寫不敏感的查找替換,建議還是使用str_ireplace()函數。

大家如果有興趣的話,可以點選《

PHP影片教學》進行更多關於PHP知識的學習。

以上是帶你快速掌握PHP字串的替換(實例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn