標籤:置換 種類 from style 用法 改變 tag black body
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.不能被替換為空白,也就是末位那個參數不能是Null 字元串,當然空格是可以的。
再次舉例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);
?>
數組裡也可以使用變數,如:$table_change = array($old=>$new);
結果為:
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‘), ‘新內容‘, $被替換內容的變數名)]
執行個體:
多對一替換:想把內容欄位裡所有的<p></p>標籤清除掉,替換成空 [@str_replace(array(‘<p>‘,‘</p>‘), ‘‘, $Content)]
一對一替換:想把內容欄位裡所有的<br>標籤換成<p> [@str_replace(‘<br>‘, ‘<p>‘, $Content)]
多對多替換:想把內容欄位裡的<br>換成<br />, 同時<p>換<hr>,把</p>全清除 [@str_replace(array(‘<br>‘, ‘<p>‘,‘</p>‘), array(‘<br />‘,‘<hr>‘,‘‘), $Content)]
php替換字串函數strtr()和str_repalce()區別