本篇文章主要介绍php实现只替换一次或n次的方法,感兴趣的朋友参考下,希望对大家有所帮助。
方法一:str_replace_once
思路首先是找到待替换的关键词的位置,然后利用substr_replace函数直接替换之。
<?phpfunction 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 foundreturn $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,'`') . '`';}// replacementreturn preg_replace($search, $replace, $subject, $limit);}?>
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
php使用pdo操作数据库乱码问题的解决方法及实例
php生成带logo二维码的实现方法
php中基于mysqli实现model基类的方法及实例
以上就是php实现只替换一次或n次的方法的详细内容。