替換函式主要有strtr(),str_repalce()這兩個函式。 首先針對strtr函式第一種方式: 我們看看下面的舉例: <?phpechostrtr("ILoveyou","Lo","lO");?> 得到的結果是: IlOveyOu 這個結果提醒我們: 1.strtr它是區分大小寫的 2.strtr的替換是很特殊的,你注意看後面那個yOu,中間的O被替換的,這顯然不是我們的本意。再舉一個特殊例子,說明這個php的sttr函式的怪異 <?phpechostrtr("ILoveyou","Love","");?> 結果是: ILoveyou 什麼也不會改變,所以strtr需要注意的是: 3.不能被替換為空,也就是末位那個引數不能是空字串,當然空格是可以的。 再次舉例strtr函式的另一種情況: <?phpechostrtr("ILovesyou","Love","lOvEA");?> 結果是: IlOvEsyOu 注意看第三個引數的A,在結果中並沒有出現。 4.我不建議用strtr以少換多。 ok,既然這個strtr函式挺麻煩為什麼還要用呢? 原因是,它的速度很快。據說,strtr比str_replace快四倍。 5.能用strtr函式的時候一定要用。 第二種情況: strtr(string,array) 6.strtr符合意願的使用方法 <?php$table_change=array("you"=>"hersister");echostrtr("ILoveyou",$table_change);?> 結果為: ILovehersister 7.小技巧:你想到替換什麼你就往陣列加什麼 比如: <?php$table_change=array("you"=>"hersister");$table_change+=array("Love"=>"hate");echostrtr("ILoveyou",$table_change);?> 結果是: Ihatehersister 再次提醒那個Love寫成love是行不通的哦。 字串取代。 語法:stringstr_replace(stringneedle,stringstr,stringhaystack); 返回值:字串 函式種類:資料處理 內容說明 本函式將字串str代入haystack字串中,將所有的needle置換成str。下例將%body%以black取代 <?php$bodytag=str_replace("%body%","black","<bodytext=%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)]
替換函式主要有strtr(),str_repalce()這兩個函式。 首先針對strtr函式第一種方式: 我們看看下面的舉例: <?phpechostrtr("ILoveyou","Lo","lO");?> 得到的結果是: IlOveyOu 這個結果提醒我們: 1.strtr它是區分大小寫的 2.strtr的替換是很特殊的,你注意看後面那個yOu,中間的O被替換的,這顯然不是我們的本意。再舉一個特殊例子,說明這個php的sttr函式的怪異 <?phpechostrtr("ILoveyou","Love","");?> 結果是: ILoveyou 什麼也不會改變,所以strtr需要注意的是: 3.不能被替換為空,也就是末位那個引數不能是空字串,當然空格是可以的。 再次舉例strtr函式的另一種情況: <?phpechostrtr("ILovesyou","Love","lOvEA");?> 結果是: IlOvEsyOu 注意看第三個引數的A,在結果中並沒有出現。 4.我不建議用strtr以少換多。 ok,既然這個strtr函式挺麻煩為什麼還要用呢? 原因是,它的速度很快。據說,strtr比str_replace快四倍。 5.能用strtr函式的時候一定要用。 第二種情況: strtr(string,array) 6.strtr符合意願的使用方法 <?php$table_change=array("you"=>"hersister");echostrtr("ILoveyou",$table_change);?> 結果為: ILovehersister 7.小技巧:你想到替換什麼你就往陣列加什麼 比如: <?php$table_change=array("you"=>"hersister");$table_change+=array("Love"=>"hate");echostrtr("ILoveyou",$table_change);?> 結果是: Ihatehersister 再次提醒那個Love寫成love是行不通的哦。 字串取代。 語法:stringstr_replace(stringneedle,stringstr,stringhaystack); 返回值:字串 函式種類:資料處理 內容說明 本函式將字串str代入haystack字串中,將所有的needle置換成str。下例將%body%以black取代 <?php$bodytag=str_replace("%body%","black","<bodytext=%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)]