在先前的文章《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 = 'abcdef'; $replace = '###'; echo substr_replace($str, $replace, 0,5); echo '<br/>'; echo substr_replace('abcdef', '###', 1); //输出 a### echo '<br/>'; echo substr_replace('abcdef', '###', 1, 2); //输出 a###def echo '<br/>'; echo substr_replace('abcdef', '###', -3, 2); //输出 abc###f echo '<br/>'; echo substr_replace('abcdef', '###', 1, -2); //输出 a###ef ?>
輸出結果:
上述範例中,透過substr_replace()函數能夠完成替換字串的一部分,接下來我們來看看str_replace 函數的使用。
<strong><span style="max-width:90%">str_replace</span></strong>
# 函數
substr_replace()函數來把字串的一部分替換為另一個字串,而
str_replace 函數能夠使用一個字串取代字串中的另一些字符,str_replace 函數的基本語法格式如下:
str_replace(find,replace,string,count)
find表示要尋找的值,參數
replace表示要取代尋找的值,參數
string表示規定被搜尋的字串,參數
count表示對替換數進行計數的變數。
<?php echo str_replace("world","earth","Hello world!") . '<br/>'; //输出 Hello earth! //替换多个,且第二个参数为空字符 echo str_replace("o","","Hello world!") . '<br/>'; //输出 Hell wrld! //使用数组 $arr = array("e", "o"); $arr2 = array("x", "y"); echo str_replace($arr, $arr2, "Hello World of PHP", $i) . '<br/>'; //输出 Hxlly Wyrld yf PHP echo $i; //输出4 ?>
<?php $arr = array("blue","red","green","yellow"); print_r(str_replace("red","pink",$arr,$i)); echo '<br/>' . "替换数:$i" . '<br/>'; $find = array("Hello","world"); $replace = array("B"); $arr1 = array("Hello","world","!"); print_r(str_replace($find,$replace,$arr1)); ?>
str_replace 函數與
substr_replace()函數都能夠達到替換字串的目的,如果是進行大小寫不敏感的查找替換,建議還是使用
str_ireplace()函數。
PHP影片教學》進行更多關於PHP知識的學習。
以上是帶你快速掌握PHP字串的替換(實例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!