内容“#menuHover; #menuHoverColor;”需要替换完全匹配只能使用preg_replace
我需要#fff
更换第一#menuHover
。
当我使用str_replace
它替换的内容全部“menuHover”字符串,但我需要更换只有第一个。
内容“#menuHover; #menuHoverColor;”需要替换完全匹配只能使用preg_replace
我需要#fff
更换第一#menuHover
。
当我使用str_replace
它替换的内容全部“menuHover”字符串,但我需要更换只有第一个。
preg_replace。使用第4个参数(上限= 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);
您可以与reg_exp preg_replace函数代码为我的概率 – Karthik
[PHP代码的沙盒(http://sandbox.onlinephpfunctions.com/code/534be43c548278701abc6763ecd01ebd99919aeb) –
我认为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;
使用单词边界:
$str = "#menuHover; #menuHoverColor;";
$str = preg_replace("/\bmenuHover\b/", "fff", $str);
echo $str,"\n";
嗯..你试过str_replace函数也是这样吗? $ newData = str_replace(“menuHover;”,“ffff;”,$ data); –
是的,它取代了第二个也 – Karthik
只需添加分号:) –