php關(guān)鍵字僅替換一次的實(shí)現(xiàn)函數(shù)
對(duì)于批量替換關(guān)鍵字的問(wèn)題,僅替換而言沒(méi)什么可說(shuō)的,但這里需要的是每個(gè)關(guān)鍵字僅需要替換一次就可以了。查閱了php相關(guān)函數(shù)文檔,發(fā)現(xiàn)php本身是沒(méi)有函數(shù)實(shí)現(xiàn)這個(gè)功能的,所以不得不自己解決了。總結(jié)了幾種可行方法,小記一下!
(1)使用 preg_replace 函數(shù)實(shí)現(xiàn)這個(gè)功能,因?yàn)?preg_replace 這個(gè)函數(shù)本身是可以實(shí)現(xiàn)控制替換次數(shù)的,所以一開(kāi)始就想到他了,具體實(shí)現(xiàn)方法如下:
//可以實(shí)現(xiàn)替換次數(shù)的控制,不僅限于只替換一次,比如$limit為2的時(shí)候表示一個(gè)詞出現(xiàn)很多吃的時(shí)候僅替換2次,-1表示全部替換。$search 和 $replace 都可以是字符串或者數(shù)組,但必須對(duì)應(yīng) function str_replace_limit($search,$replace,$content,$limit=-1){ if(is_array($search)){ foreach ($search as $k=>$v){ $search[$k]='`'.preg_quote($search[$k],'`').'`'; } }else{ $search='`'.preg_quote($search,'`').'`'; } //把圖片描述去掉 $content=preg_replace("/alt=([^ >]+)/is",'',$content); return preg_replace($search,$replace,$content,$limit); }
(2)使用substr_replace 函數(shù)來(lái)實(shí)現(xiàn),不過(guò)這里僅能實(shí)現(xiàn)僅一次替換
//首先找到關(guān)鍵字所在位置,然后使用 substr_replace(系統(tǒng)函數(shù))進(jìn)行替換操作 function str_replace_once($search,$replace,$content){ //把圖片描述去掉 $content=preg_replace("/alt=([^ >]+)/is",'',$content); $pos=strpos($content,$search); if($pos===false){ return $haystack; } return substr_replace($content,$replace,$pos,strlen($search)); }
`以上就是PHP只替換一次以及控制替換次數(shù)的實(shí)現(xiàn)函數(shù),希望對(duì)大家的學(xué)習(xí)有所幫助。
- php preg_match_all結(jié)合str_replace替換內(nèi)容中所有img
- PHP 替換模板變量實(shí)現(xiàn)步驟
- PHP html標(biāo)簽正則替換并可自定義正則規(guī)則
- php獲取當(dāng)前網(wǎng)址url并替換參數(shù)或網(wǎng)址的方法
- PHP的substr_replace將指定兩位置之間的字符替換為*號(hào)
- PHP 字符串正則替換函數(shù)preg_replace使用說(shuō)明
- php 字符串替換的方法
- PHP中替換換行符的幾種方法小結(jié)
- 如何在PHP中使用正則表達(dá)式進(jìn)行查找替換
- php 批量替換程序的具體實(shí)現(xiàn)代碼
- php 批量替換html標(biāo)簽的實(shí)例代碼
- PHP preg_replace() 正則替換所有符合條件的字符串
- PHP正則表達(dá)式替換站點(diǎn)關(guān)鍵字鏈接后空白的解決方法
- PHP正則替換函數(shù)preg_replace和preg_replace_callback使用總結(jié)
- php正則替換變量指定字符的方法
- 淺析PHP關(guān)鍵詞替換的類(避免重復(fù)替換,保留與還原原始鏈接)
相關(guān)文章
php中current、next與reset函數(shù)用法實(shí)例
這篇文章主要介紹了php中current、next與reset函數(shù)用法,以實(shí)例形式詳細(xì)講述了PHP中針對(duì)數(shù)組操作的函數(shù)current、next與reset的具體用法,對(duì)于深入了解數(shù)組的用法具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11PHP 將dataurl轉(zhuǎn)成圖片image方法總結(jié)
這篇文章主要介紹了PHP 將dataurl轉(zhuǎn)成圖片image方法的相關(guān)資料,這里提供了兩種方法及實(shí)現(xiàn)方式,需要的朋友可以參考下2016-10-10簡(jiǎn)單的PHP緩存設(shè)計(jì)實(shí)現(xiàn)代碼
本功能主要是利用文件修改時(shí)間函數(shù)filemtime與現(xiàn)在時(shí)間作減法判斷是否更新內(nèi)容。2011-09-09非常實(shí)用的php彈出錯(cuò)誤警告函數(shù)擴(kuò)展性強(qiáng)
利用php彈出警告的函數(shù),整理到自己的代碼庫(kù)中去在遇到錯(cuò)誤的地方可用到此函數(shù),擴(kuò)展性強(qiáng),喜歡的朋友可以收藏下2014-01-01