如何替换字符串中的值,该值与数组中具有相同值但前面带有\的条目相匹配?
$test = "Mike (D)";
$array('(',')','@','-');
As()在数组$ test中应该等于"Mike \(D\)";
所以基本上用项目相同的项目替换项目前缀为\
答案 0 :(得分:5)
addcslashes($test, "()@-");
答案 1 :(得分:2)
$test = "Mike (D)";
$find = array('(',')','@','-');
$repalce = array('\(','\)','\@','\-');
$newphrase = str_replace($find, $repalce, $test);
答案 2 :(得分:0)
您可以尝试这样的事情:
foreach ($array as $needle) {
if(strpos($needle, $test) {
str_replace($needle, '\\'.$needle, $test);
}
}
或者,如果您使用替换字符串创建数组,只需使用:
$array = array('(', ')', '@',...);
$replace = array('\(', '\)', '\@',...);
str_replace($array, $replace, $test);