PHP巧用函數將給定子字串換成*號(大小寫不敏感)

青灯夜游
發布: 2023-03-12 06:04:01
原創
3290 人瀏覽過

在先前的文章中我們介紹了一種字串替換方法,該方法可以區分大小寫的將給定子字串替換成其他值,感興趣的可以點擊連結查閱→《PHP如何將給定子字串換成*號(大小寫敏感)》。這次我們跟大家介紹替換字串中給定子字串的另一種方法,有需要的可以參考參考。

上文中我們介紹了使用str_replace()函數替換給定子字串的方法,這種方法對大小寫敏感(即區分大小寫),只要字串中有一個字元的大小寫不符合要求,和給定子字串無法完全相同,那麼就不會進行替換。

但有時進行字串替換時,不需要那麼嚴格,可以忽略字元的大小寫問題。今天我們就來介紹一下對替換字元大小寫不敏感的方法。

我們來看看下面這個範例:

<?php
$str = &#39;hello,world,Hello,World&#39;;
$replace = &#39;*&#39;;
$search1 = &#39;hello&#39;;
$search2 = &#39;world&#39;;
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”,都替換為*號。所以輸出結果為:

PHP巧用函數將給定子字串換成*號(大小寫不敏感)

是不是很簡單,下面我們就來了解這個str_ireplace()函數。

str_ireplace($search,$replace,$string,$count)函數可以忽略大小寫的替換字串中的一些字符,該函數接受的參數和str_replace()函數一樣,前3個參數是必需的(不可省略),後一個參數$count是可省略的(但設定了,可以取得替換次數)。

參數$count可以接受一個變量,用來對替換數進行計數;如果設定了該參數,就可以知道總共執行了幾次替換。

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;hello,world,Hello,World&#39;;
$replace = &#39;*&#39;;
$search1 = &#39;hello&#39;;
$search2 = &#39;world&#39;;
echo str_ireplace($search1, $replace, $str, $i)."<br>";
echo  "一共执行了  $i"." 次替换<br><br>";

echo str_ireplace($search2, $replace, $str, $i)."<br>";
echo  "一共执行了  $i"." 次替换<br><br>";
?>
登入後複製

輸出結果:

PHP巧用函數將給定子字串換成*號(大小寫不敏感)

說明:

因為str_ireplace()和str_replace()函數都是直接給出需要替換的子字串,所以這兩個函數都可以用來取代中文字元。

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;你好,欢迎来到这里!&#39;;
$replace = &#39;*&#39;;
$search1 = &#39;你好&#39;;
$search2 = &#39;欢迎&#39;;
echo str_ireplace($search1, $replace, $str)."<br>";
echo str_replace($search2, $replace, $str)."<br>";
?>
登入後複製

輸出結果:

PHP巧用函數將給定子字串換成*號(大小寫不敏感)

在純中文字串是差不多的,但在中英混合的字串,因為會區分大小寫,可以根據需求來選擇使用哪一個。

<?php
header("Content-Type: text/html;charset=utf-8");    //设置字符编码
$str = &#39;你好,欢迎来到PHP中文网!&#39;;
$replace = &#39;这里&#39;;
$search1 = &#39;PHP中文网&#39;;
$search2 = &#39;php中文网&#39;;
echo str_ireplace($search1, $replace, $str)."<br>";
echo str_replace($search2, $replace, $str)."<br>";
?>
登入後複製

輸出結果:

PHP巧用函數將給定子字串換成*號(大小寫不敏感)

好了就說到這裡了,有其他想知道的,可以點擊這個哦。 → →php影片教學

 最後給大家推薦閱讀一個經典課程《PHP字串處理(玉女心經版)》,免費的~快來學習啊!

以上是PHP巧用函數將給定子字串換成*號(大小寫不敏感)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板