溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP替換字符串函數(shù)strtr()和str_replace()

發(fā)布時間:2020-08-05 12:22:42 來源:網(wǎng)絡(luò) 閱讀:1569 作者:happyyin 欄目:web開發(fā)

strtr(string,from,to):

逐個字符開始替換,以from跟to中長度較較短的一個為準(zhǔn),例如:

strtr("aidenliu","ai","b") 只替換原始字符串中出現(xiàn)的a 輸出:bidenliu

strtr("aidenliu","a","bc") 只替換原始字符串中出現(xiàn)的a 輸出:bidenliu

此函數(shù)是大小寫敏感的,具如果發(fā)生多次替換,每一次替換的藍(lán)本都是最原始的那個字符串,而不是在前一次替換的基礎(chǔ)上替換,如

strtr("aidenliu","aA","A@") 會輸出Aidenliu 而不是@idenliu

strtr(string,array):

array 為關(guān)聯(lián)數(shù)組,用關(guān)聯(lián)數(shù)組中的值替換原始字符串中出現(xiàn)的對應(yīng)的鍵,如果發(fā)生多次替換,每次替換的對像都是最原始的那個字符串,而不是在一次替換的基礎(chǔ)上替換(此點(diǎn)與str_replace不同)

strtr(string,from,to)與 strtr(string,array):

strtr(string,from,to)是逐個字符替換,而strtr(string,array)是字符串替換

strtr("aidenliu","ai","") 不發(fā)生替換(第二個參數(shù)為零長度字符串)

strtr("aidenliu",array("ai"=>"")) 發(fā)生替換

參考如下文章:

php中替換函數(shù)主要有strtr(),str_repalce()這兩個函數(shù),但你們都知道他們這兩個函數(shù)的區(qū)別和用法嗎?

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

strtr(string,from,to)

或者strtr(string,array)

首先針對strtr函數(shù)第一種方式:

我們看看下面的舉例:

得到的結(jié)果是:

I lOve yOu

這個結(jié)果提醒我們:

1.strtr它是區(qū)分大小寫的
2.strtr的替換是很特殊的,你注意看后面那個yOu,中間的O被替換的,這顯然不是我們的本意。
再舉一個特殊例子,說明這個php的sttr函數(shù)的怪異

結(jié)果是:

I Love you

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

3.不能被替換為空,也就是末位那個參數(shù)不能是空字符串,當(dāng)然空格是可以的。

再次舉例strtr函數(shù)的另一種情況:

結(jié)果是:

I lOvEs yOu

注意看第三個參數(shù)的A,在結(jié)果中并沒有出現(xiàn)。

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

ok,既然這個strtr函數(shù)挺麻煩為什么還要用呢?

原因是,它的速度很快。據(jù)說,strtr 比 str_replace 快四倍。

5.能用strtr函數(shù)的時候一定要用。

那怎么用才舒服?

這就是它的第二種情況:

strtr(string,array)

6.strtr符合意愿的使用方法

結(jié)果為:

I Love her sister

7.小技巧:你想到替換什么你就往數(shù)組加什么

比如:

結(jié)果是:

I hate her sister

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

字符串取代。

語法: string str_replace(string needle, string str, string haystack);

返回值: 字符串

函數(shù)種類: 資料處理

內(nèi)容說明

本函數(shù)將字符串 str 代入 haystack 字符串中,將所有的 needle 置換成 str。mlevine@adtraq.com (11-Apr-1999) 指出在 PHP 3.0.7 版,本函數(shù)有些 bug,而 nadeem@bleh.org (05-Jun-1999) 補(bǔ)充在 PHP 3.0.8 版本函數(shù)就回復(fù)正常了。

使用范例

下例將 %body% 以 black 取代

格式:

[@str_replace("要替換的舊內(nèi)容", "要取代原內(nèi)容的新字符", $被替換內(nèi)容的變量名)]
[@str_replace(array('舊1','舊2','舊3'), array('新1','新2','新3'), $被替換內(nèi)容的變量名)]
[@str_replace(array('舊1','舊2','舊3'), '新內(nèi)容', $被替換內(nèi)容的變量名)]
實(shí)例:

多對一替換:想把內(nèi)容字段里所有的

標(biāo)簽清除掉,替換成空 [@str_replace(array('

','

'), '', $Content)]

一對一替換:想把內(nèi)容字段里所有的
標(biāo)簽換成

[@str_replace('
', '

', $Content)]

多對多替換:想把內(nèi)容字段里的
換成
, 同時


,把

全清除 [@str_replace(array('
', '

','

'), array('
','


',''), $Content)]


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI