如何替换字符串中与数组中的条目匹配的值相同但前面有 \ 的值?
$test = "Mike (D)";
$array('(',')','@','-');
由于 ( ) 在数组中 $test 应该等于"Mike \(D\)";
所以基本上用带有 \ 前缀的相同项目替换项目
addcslashes($test, "()@-");
请参阅: http: //php.net/manual/en/function.addcslashes.php
$test = "Mike (D)";
$find = array('(',')','@','-');
$repalce = array('\(','\)','\@','\-');
$newphrase = str_replace($find, $repalce, $test);
你可以尝试这样的事情:
foreach ($array as $needle) {
if(strpos($needle, $test) {
str_replace($needle, '\\'.$needle, $test);
}
}
或者,如果您使用替换字符串创建一个数组,只需使用:
$array = array('(', ')', '@',...);
$replace = array('\(', '\)', '\@',...);
str_replace($array, $replace, $test);