在先前的文章中我們介紹了一種字串替換方法,該方法可以區分大小寫的將給定子字串替換成其他值,感興趣的可以點擊連結查閱→《PHP如何將給定子字串換成*號(大小寫敏感)》。這次我們跟大家介紹替換字串中給定子字串的另一種方法,有需要的可以參考參考。
上文中我們介紹了使用str_replace()函數替換給定子字串的方法,這種方法對大小寫敏感(即區分大小寫),只要字串中有一個字元的大小寫不符合要求,和給定子字串無法完全相同,那麼就不會進行替換。
但有時進行字串替換時,不需要那麼嚴格,可以忽略字元的大小寫問題。今天我們就來介紹一下對替換字元大小寫不敏感的方法。
我們來看看下面這個範例:
<?php $str = 'hello,world,Hello,World'; $replace = '*'; $search1 = 'hello'; $search2 = 'world'; echo str_ireplace($search1, $replace, $str)."<br>"; echo str_ireplace($search2, $replace, $str)."<br>"; ?>
觀察上面的程式碼,我們需要將$str字串「hello,world,Hello,World
」中的“hello
”和“world
”子字串替換成*
號碼。但$str字串中符合要求的有兩種:一種是完全匹配(大小寫一致)的子字串,一種是不完全匹配(大小寫不一致)的。
但因為我們使用的是str_ireplace()函數,該函數可以忽略大小寫,因此會將字串$str中符合要求的兩個子字串「hello」和「Hello」、「world」和“World”,都替換為*號。所以輸出結果為:
是不是很簡單,下面我們就來了解這個str_ireplace()函數。
str_ireplace($search,$replace,$string,$count)
函數可以忽略大小寫的替換字串中的一些字符,該函數接受的參數和str_replace()函數一樣,前3個參數是必需的(不可省略),後一個參數$count
是可省略的(但設定了,可以取得替換次數)。
參數$count
可以接受一個變量,用來對替換數進行計數;如果設定了該參數,就可以知道總共執行了幾次替換。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $str = 'hello,world,Hello,World'; $replace = '*'; $search1 = 'hello'; $search2 = 'world'; echo str_ireplace($search1, $replace, $str, $i)."<br>"; echo "一共执行了 $i"." 次替换<br><br>"; echo str_ireplace($search2, $replace, $str, $i)."<br>"; echo "一共执行了 $i"." 次替换<br><br>"; ?>
輸出結果:
說明:
因為str_ireplace()和str_replace()函數都是直接給出需要替換的子字串,所以這兩個函數都可以用來取代中文字元。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $str = '你好,欢迎来到这里!'; $replace = '*'; $search1 = '你好'; $search2 = '欢迎'; echo str_ireplace($search1, $replace, $str)."<br>"; echo str_replace($search2, $replace, $str)."<br>"; ?>
輸出結果:
在純中文字串是差不多的,但在中英混合的字串,因為會區分大小寫,可以根據需求來選擇使用哪一個。
<?php header("Content-Type: text/html;charset=utf-8"); //设置字符编码 $str = '你好,欢迎来到PHP中文网!'; $replace = '这里'; $search1 = 'PHP中文网'; $search2 = 'php中文网'; echo str_ireplace($search1, $replace, $str)."<br>"; echo str_replace($search2, $replace, $str)."<br>"; ?>
輸出結果:
好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →php影片教學
最後給大家推薦閱讀一個經典課程《PHP字串處理(玉女心經版)》,免費的~快來學習啊!
以上是PHP巧用函數將給定子字串換成*號(大小寫不敏感)的詳細內容。更多資訊請關注PHP中文網其他相關文章!