本篇主要介紹php實作只替換一次或N次的方法,有興趣的朋友參考下,希望對大家有幫助。
方法一: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) { // Nothing found 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); } ?>
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
相關推薦:
以上是php實作只替換一次或N次的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!