php str_ireplace()str_replace用法及別區_PHP教程

來源:互聯網
上載者:User
在php中str_ireplace()str_replace函數就是字元替換了,我覺得他們最大的區別就是一個對大小寫不敏感,一個對大小寫敏感其它的都一樣。

str_replace() 函數

定義:使用一個字串替換字串中的另一些字元,對大小寫敏感的搜尋
文法:

str_replace(find,replace,string,count)
執行個體:

代碼如下 複製代碼

輸出

hupengstudying.com hupeng

通過上面的描述和執行個體對比,相信大家都很清楚的瞭解了php中str_replace() 函數與str_ireplace() 函數的區別

str_replace使用
大家可以實際運行下下面的代碼,調試一下。


$bodytag = str_replace("%body%", "black", "

// Provides: Hll Wrld f PHP
$vowels = array("a", "e", "i", "o", "u", "A", "E", "I", "O", "U");
$onlyconsonants = str_replace($vowels, "", "Hello World of PHP");

// Provides: You should eat pizza, beer, and ice cream every day
$phrase = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

// Use of the count parameter is available as of PHP 5.0.0
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count; // 2
?>

");
代碼如下 複製代碼

str_replace詳解
在都不使用數組時,該函數直接使用replace替換所有的search並返回替換後的字串。如:str_replace("m","n","my name is jim!")返回ny nane is jin!

1、只對search使用數組。
樣本:str_replace(array('m','i'),'n',"my name is jim!");返回:ny nane ns jnn!
可以看出,函數順序性的對數組中每個字串進行替換,並返回替換後的字串。

2、只對replace使用數組。
樣本:str_replace('m',array('n','z'),"my name is jim!n")返回:Arrayy naArraye is jiArray!
該替換比較有意思,如果只對第二個參數使用數組則函數將其作為字串Array進行使用,將所有的search替換為了數組。

3、只對subject使用數組。

樣本:str_replace("m","n",array("my name is jim!","the game is over!"))該語句執行結果返回一個數組,即分別為傳入的兩個字串替換後的結果。
如果輸出數組內容會看到:ny nane is jin! the gane is over!

4、對search和replace都使用數組。

樣本:str_replace(array("m","i"),array("n","z"),"my name is jim!")返回:ny nane zs jzn!
查看執行結果可以發現,如果前兩個參數都使用數組則函數把數組各個對象項字串進行了替換,及search的第一項替換為replace的第一項。以此類推。
如果search數組比new_deedle長,例如:str_replace(array("m","i","s"),array("n","z"), "my name is jim!");返回:ny nane z jzn!可見,對於search數組多出來的字串被替換為了空串。
如果replace數組比search長,例如:str_replace(array("m","i"),array("n","z","x"), "my name is jim!")返回ny nane zs jzn!可見replace多餘的項被忽略。

5、三個參數都使用數組。

例如:str_replace(array("m","i"),array("n","z"),array("my name is jim!","the game is over"))返回的數組內容:ny nane zs jzn!the gane zs over
這個比較好理解,對兩個字串分別執行替換。


str_replace出現亂碼原因分析


亂碼問題是漢字編碼和str_replace的工作方引起的,因為一個漢字是佔兩個位元組的,全形空格也相當於漢字一樣佔兩個位元組,一個區碼,一個位碼。不過位碼和區碼有重疊的部分。如以下代碼:

代碼如下 複製代碼

/*
xa1xa1 => " " (中文全形空格)
xcdxa1 => "汀"
xa1xa3 => "。" (中文全形句號)
xcdxa3 => "停"
*/

$str = "汀。";
echo str_replace(" ", "", $str);
?>;

以上代碼的輸出結果是 "停" 字。因為str_replace是一個位元組一個位元組的對比,所以會出錯


http://www.bkjia.com/PHPjc/445620.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445620.htmlTechArticle在php中str_ireplace()str_replace函數就是字元替換了,我覺得他們最大的區別就是一個對大小寫不敏感,一個對大小寫敏感其它的都一樣。 str_rep...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.