一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - str_replace只替換一次字符串的方法

str_replace只替換一次字符串的方法

2020-03-19 13:16PHP教程網 PHP教程

我們都知道,在PHP里Strtr,strreplace等函數都可以用來替換,不過他們每次替換的時候都是全部替換,但是如果你想只替換一個或兩個怎么辦呢?看下邊的解決方法

我們都知道,在PHP里Strtr,strreplace等函數都可以用來替換,不過他們每次替換的時候都是全部替換,舉個例子:
"abcabbc",這個字符串如果使用上邊的函數來把其中的b替換掉,那么他會全部替換掉,但是如果你想只替換一個或兩個怎么辦呢?看下邊的解決方法:
     這是個比較有點意思的問題,正好之前也做過類似的處理,當時我是直接利用preg_replace實現的。

mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
     在 subject 中搜索 pattern 模式的匹配項并替換為 replacement。如果指定了 limit,則僅替換 limit 個匹配,如果省略 limit 或者其值為 -1,則所有的匹配項都會被替換。
     因為preg_replace的第四個參數可以實現替換次數的限制,所以這個問題這樣處理很方便。但是在查看php.net上關于str_replace的函數評論后,從中居然也可以挑出幾個有代表性的函數來。

str_replace_once
思路首先是找到待替換的關鍵詞的位置,然后利用substr_replace函數直接替換之。

 

復制代碼代碼如下:


<?php 

 

function str_replace_once($needle, $replace, $haystack) { 

// Looks for the first occurence of $needle in $haystack 

// and replaces it with $replace. 

$pos = strpos($haystack, $needle); 

if ($pos === false) { 

return $haystack; 

return substr_replace($haystack, $replace, $pos, strlen($needle)); 

?> 

 

str_replace_limit
還是利用preg_replace,只不過它的參數更象preg_replace了,而且對某些特殊字符做了轉義處理,通用性更好。

復制代碼代碼如下:


<? 

 

function str_replace_limit($search, $replace, $subject, $limit=-1) { 

// constructing mask(s)... 

if (is_array($search)) { 

foreach ($search as $k=>$v) { 

$search[$k] = '`' . preg_quote($search[$k],'`') . '`'; 

}

else { 

$search = '`' . preg_quote($search,'`') . '`'; 

// replacement 

return preg_replace($search, $replace, $subject, $limit); 

?> 

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美日韩成人在线视频 | 色婷亚洲 | 奇米小说 | 九九九九在线视频播放 | 亚洲日本va中文字幕 | 2021最新国产成人精品免费 | 亚洲第一综合网站 | 欧美一级专区免费大片 | 国产99久久久国产精品成人 | 思思玖玖 | 娇妻终于接受了3p的调教 | 国产成人精品999在线 | 国产卡一卡二卡三乱码手机 | 亚洲大爷操 | 青草免费在线观看 | 亚洲视频国产精品 | 人人爽人人看 | 男人桶女下面60分钟视频 | 亚州中文字幕 | 久久精品热99看 | 亚洲欧美国产另类 | 美女毛片在线 | 亚洲天堂男人的天堂 | 逼中极品 | 黑人同学征服教师麻麻 | 日本视频免费在线观看 | 精品久久免费视频 | 日本三级做a全过程在线观看 | 午夜dj影院在线观看完整版 | 九草视频在线 | tk白嫩玉足脚心vk | 日韩在线观看网站 | 边摸边吃奶又黄激烈视频韩国 | 青青99| 久久热r在线视频精品 | 小鸟酱喷水 | 日韩久久影院 | 甜蜜调教 | 娇妻被朋友征服中文字幕 | 亚洲第一综合网站 | 岛国虐乳紧缚媚药调教 |