内容“#menuHover; #menuHoverColor;”
我需要将第一个#menuHover
替换为#fff
。
当我使用str_replace
时,它会替换内容中的所有“menuHover”字符串,但我只需要替换第一个字符串。
答案 0 :(得分:1)
preg_replace。使用第4个参数(limit = 1)
例如:
$string = '#menuHover #menuHoverHover';
$replacedString = preg_replace('/menuHover/', 'fff', $string, 1);
print_r ($replacedString);
如果您想要完全替换“menuHover”字符串,无论其位置如何您可以使用下一个代码:
$replacedString = preg_replace('/#menuHover(?!\S)/', '#fff', $string, 1);
另一项改进考虑分号:
$replacedString = preg_replace('/#menuHover([;]?)(?!\S)/', '#fff$1', $string, 1);
答案 1 :(得分:1)
使用字边界:
$str = "#menuHover; #menuHoverColor;";
$str = preg_replace("/\bmenuHover\b/", "fff", $str);
echo $str,"\n";
答案 2 :(得分:0)
我认为str_replace就足够了,只需添加分号:
$string = "#menuHover; #menuHoverColor;";
$newString = str_replace("menuHover;", "fff;", $string);
echo $newString;
或使用preg_replace
$string = "#menuHover; #menuHoverColor;";
$newString = preg_replace("/menuHover/", "fff", $string, 1);
echo $newString;