PHP字符串替換的相關(guān)方法介紹
我們?cè)趯?shí)際編程中,當(dāng)想實(shí)現(xiàn)PHP字符串替換這一功能時(shí),通常都會(huì)用到strtr()函數(shù)。下面我們就來(lái)具體講解一下PHP字符串替換的是實(shí)現(xiàn)方法。
v先來(lái)看看這個(gè)PHP字符串替換函數(shù) strtr()的兩種狀態(tài)
strtr(string,from,to)
或者strtr(string,array)
首先針對(duì)strtr函數(shù)第一種方式
我們看看下面的PHP字符串替換舉例:
- < ?php
- echo strtr("I Love you
","Lo","lO");- ?>
得到的結(jié)果是
I lOve yOu
這個(gè)結(jié)果提醒我們
1.strtr它是區(qū)分大小寫(xiě)的
2.strtr的替換是很特殊的,你注意看后面那個(gè)yOu,中間的O被替換的,這顯然不是我們的本意
再舉一個(gè)特殊例子,說(shuō)明這個(gè)php sttr函數(shù)的怪異
- < ?php
- echo strtr("I Love
you","Love","");- ?>
結(jié)果是
I Love you
PHP字符串替換什么也不會(huì)改變,所以strtr需要注意的是:
3.不能被替換為空,也就是末位那個(gè)參數(shù)不能是空字符串,當(dāng)然空格是可以的。
再次舉例strtr函數(shù)的另一種情況
- < ?php
- echo strtr("I Loves you","Love","lOvEA");
- ?>
結(jié)果是
I lOvEs yOu
注意看第三個(gè)參數(shù)的A,在結(jié)果中并沒(méi)有出現(xiàn)
4.我不建議用strtr以少換多
ok,既然這個(gè)strtr函數(shù)挺麻煩為什么還要用呢?
原因是,它的速度很快
據(jù)說(shuō),strtr 比 str_replace 快四倍
5.PHP字符串替換能用strtr函數(shù)的時(shí)候一定要用
那怎么用才舒服?
這就是它的第二種情況
strtr(string,array)
6.strtr符合意愿的使用方法
- < ?php
- $table_change = array('you'=>'her sister');
- echo strtr("I Love you",$table_change);
- ?>
結(jié)果為
I Love her sister
7.小技巧:你想到PHP字符串替換該替換什么你就往數(shù)組加什么
比如
- < ?php
- $table_change = array('you'=>'her sister');
- $table_change += array('Love' => 'hate');
- echo strtr("I Love you",$table_change);
- ?>
結(jié)果是
I hate her sister
再次提醒那個(gè)Love 寫(xiě)成love 是行不通的哦。
ok,亂七八糟說(shuō)了一通,其實(shí)關(guān)于strtr最想說(shuō)的就是這個(gè)后面的用法了
簡(jiǎn)單方便。
貌似后面的用法也忽略掉了前后字符長(zhǎng)度不同的問(wèn)題
以上PHP字符串替換實(shí)驗(yàn),PHP5.2 測(cè)試通過(guò)。