php中替換函數主要有strtr()
和str_repalce()
這兩個函數,今天介紹下他們的區別和用法, 先來看看這個php字串替換函數strtr()的兩種用法:
strtr(string,from,to)
或strtr (string,array)
首先針對strtr函數第一種方式:
我們來看看下面的範例:
<?php echo strtr("I Love you","Lo","lO"); ?>
得到的結果是: I lOve yOu
這個結果提醒我們:
1、strtr它是區分大小寫的
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,在結果中並沒有出現。
4、我不建議用strtr以少換多
ok,既然這個strtr函數挺麻煩為什麼還要用呢?原因是,它的速度很快。據說,strtr 比 str_replace 快四倍。
5、能用strtr函數的時候一定要用
第二種情況:
strtr(string,array)
6、strtr符合意願的使用方法
<?php $table_change = array('you'=>'her sister'); echo strtr("I Love you",$table_change); ?>
結果為: I Love her sister
7、小技巧:你想到要替換什麼就往陣列加什麼
#例如:
<?php $table_change = array('you'=>'her sister'); $table_change += array('Love' => 'hate'); echo strtr("I Love you",$table_change); ?>
結果是: I hate her sister
再次提醒那個Love 寫成love 是行不通的哦。
字串取代
語法:
string str_replace(string needle, string str, string haystack);
#回傳值: 字串
函數種類: 資料處理
內容說明:
本函數將字串str 代入haystack 字串中,將所有的needle 置換成str。
下例將%body% 以black 取代
<?php $bodytag = str_replace("%body%", "black", "<body text=%body%>"); echo $bodytag; ?>
格式:
[@str_replace("要替換的舊內容" , "要取代原內容的新字元", $被替換內容的變數名稱)] [@str_replace(array('舊1','舊2','舊3'), array('新1','新2','新3'), $被替換內容的變數名稱)] [@str_replace(array('舊1','舊2','舊3'), '新內容', $被替換內容的變數名稱)]
實例:
多對一替換:想把內容欄位裡所有的e388a4556c0f65e1904146cc1a846bee0cba36f12cf561cef14ffa62bcdafa2c標籤清除掉,替換成空[@str_replace(array('e388a4556c0f65e1904146cc1a846bee','94b3e26ee717c64999d7867364b1b4a3'), '', $Content)]
一對一替換:想把內容欄位裡所有的0c6dc11e160d3b678d68754cc175188a標籤換成e388a4556c0f65e1904146cc1a846bee [@str_replace('0c6dc11e160d3b678d68754cc175188a', 'e388a4556c0f65e1904146cc1a846bee', $Content)]
多對多重替換:想把內容欄位裡的0c6dc11e160d3b678d68754cc175188a換成df250b2156c434f3390392d09b1c9563, 同時e388a4556c0f65e1904146cc1a846bee換f32b48428a809b51f04d3228cdf461fa,把94b3e26ee717c64999d7867364b1b4a3全清除[@str_replace(array( '0c6dc11e160d3b678d68754cc175188a', 'e388a4556c0f65e1904146cc1a846bee','94b3e26ee717c64999d7867364b1b4a3'), array('df250b2156c434f3390392d09b1c9563','f32b48428a809b51f04d3228cdf461fa',''), $Content)]。
以上內容僅供參考!
推薦教學:PHP影片教學
#以上是php替換函數是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!