首頁 >後端開發 >php教程 >php中替換字串函數strtr()和str_repalce()的用法與區別

php中替換字串函數strtr()和str_repalce()的用法與區別

墨辰丷
墨辰丷原創
2018-05-30 14:44:001880瀏覽

在php中替換函數主要有strtr(),str_repalce()這兩個函數,下面這篇文中主要給大家介紹下這兩者之間的區別和用法,文中透過範例程式碼介紹的很詳細,有需要的朋友可以參考借鑒,下面跟著小編一起來學習學習吧。

首先來看看這個php字串替換函數strtr()的兩種用法:

#strtr(string,from,to) strtr(string,array) 首先針對strtr函數第一種方式:

#我們來看看下面的範例:<br>

<?php
echo strtr("I Love you","Lo","lO");
?>

得到的結果是: I lOve yOu

這個結果提醒我們:<br>

1.strtr它是區分大小寫的<br>

#2.strtr的替換是很特殊的,你注意看後面那個yOu,中間的O被替換的,這顯然不是我們的本意。

再舉一個特殊例子,說明這個php的sttr函數的怪異

#
<?php
echo strtr("I Love you","Love","");
?>

結果是: I Love you

什麼也不會改變,所以strtr要注意的是:

3.不能被替換為空,也就是末位那個參數不能是空字串,當然空格是可以的。

再次舉例strtr函數的另一種情況:

<?php
echo strtr("I Loves you","Love","lOvEA");
?>

結果是: I lOvEs yOu

#注意第三個參數的A,在結果中並沒有出現。 <br>

4.我不建議用strtr以少換多。 <br>

ok,既然這個strtr函數挺麻煩為什麼還要用呢? <br>

原因是,它的速度很快。據說,strtr 比 str_replace 快四倍。 <br>

5.能用strtr函數的時候一定要用。 <br>

那怎麼用才舒服? <br>

這就是它的第二種情況:<br>

strtr(string,array)

##6.strtr符合意願的使用方法

<?php
$table_change = array(&#39;you&#39;=>&#39;her sister&#39;);
echo strtr("I Love you",$table_change);
?>

結果為: I Love her sister

7.小技巧:你想到要替換什麼你就往陣列加什麼<br>

例如:

<?php
$table_change = array(&#39;you&#39;=>&#39;her sister&#39;);
$table_change += array(&#39;Love&#39; => &#39;hate&#39;);
echo strtr("I Love you",$table_change);
?>

結果是: I hate her sister

<br>

<br>

<br>

再次提醒那個Love 寫成love 是行不通的哦。

字串取代。 <br>語法:

string str_replace(string needle, string str, string haystack);

<br>

## 傳回值: 字串

<br>

#函數種類: 資料處理

內容說明:

#本函數將字串str 代入haystack 字串中,將所有的needle 置換成str。 <br>下例將%body% 以black 取代

<br>

#
<?php
$bodytag = str_replace("%body%", "black", "<body text=%body%>");
echo $bodytag;
?>

<br>

格式:

    [@str_replace("要替換的舊內容", "要取代原內容的新字元", $被替換內容的變數名稱)]

#    [@str_replace(array('舊1','舊2','舊3'), array('新1','新2','新3'), $被替換內容的變數名)]

    [@str_replace(array('舊1','舊2','舊3'), '新內容', $被替換內容的變數名稱)]

實例:多對一替換:想把內容欄位裡所有的e388a4556c0f65e1904146cc1a846bee94b3e26ee717c64999d7867364b1b4a3標籤清除掉,替換成空[

@str_replace(array('e388a4556c0f65e1904146cc1a846bee','94b3e26ee717c64999d7867364b1b4a3'), '', $Content)

]

一對一替換:想把內容字段裡所有的0c6dc11e160d3b678d68754cc175188a標籤換成e388a4556c0f65e1904146cc1a846bee [ <br>@str_replace('0c6dc11e160d3b678d68754cc175188a', 'e388a4556c0f65e1904146cc1a846bee', $Content)

]

#多對多替換:想把內容欄位裡的0c6dc11e160d3b678d68754cc175188a換成df250b2156c434f3390392d09b1c9563, 同時e388a4556c0f65e1904146cc1a846bee換f32b48428a809b51f04d3228cdf461fa,把94b3e26ee717c64999d7867364b1b4a3全清除[

@str_replace(array ('0c6dc11e160d3b678d68754cc175188a', 'e388a4556c0f65e1904146cc1a846bee','94b3e26ee717c64999d7867364b1b4a3') , array('df250b2156c434f3390392d09b1c9563','f32b48428a809b51f04d3228cdf461fa','' ), $Content)<br> ]

以上就是本文的全部內容,希望對大家的學習有幫助。 <br>

相關推薦:PHP取得音訊檔案時長的方法<br>

PHP實作讀取xml檔的方法

###PHP實作限制IP存取的方法_###php###技巧############ ################

以上是php中替換字串函數strtr()和str_repalce()的用法與區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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