举个例子:
"aaabbbccc", 如果你想只替换一个b或两个b怎么办呢?
方法1:直接利用preg_replace
mixed preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )
在subject 中搜索pattern 模式的匹配项并替换为replacement。如果指定了 limit,则仅替换 limit 个匹配,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换。
方法二:str_replace_once
思路首先是找到待替换的关键词的位置,然后利用substr_replace函数直接替换之。
/**
* 字符串替换
* Author:刘星麟
* @param $needle
* @param $replace
* @param $haystack
* @return mixed
*/
function str_replace_once($needle, $replace, $haystack)
{
$pos = strpos($haystack, $needle);
if ($pos === false) {
return $haystack;
}
return substr_replace($haystack, $replace, $pos, strlen($needle));
}