0

如何替换字符串中与数组中的条目匹配的值相同但前面有 \ 的值?

$test = "Mike (D)";
$array('(',')','@','-');

由于 ( ) 在数组中 $test 应该等于"Mike \(D\)";

所以基本上用带有 \ 前缀的相同项目替换项目

4

3 回答 3

5
addcslashes($test, "()@-");

请参阅: http: //php.net/manual/en/function.addcslashes.php

于 2013-01-17T12:25:36.743 回答
2
$test      = "Mike (D)";
$find      = array('(',')','@','-');
$repalce   = array('\(','\)','\@','\-');

$newphrase = str_replace($find, $repalce, $test);
于 2013-01-17T12:26:03.623 回答
0

你可以尝试这样的事情:

foreach ($array as $needle) { 
    if(strpos($needle, $test) {
       str_replace($needle, '\\'.$needle, $test);
    }
 }

或者,如果您使用替换字符串创建一个数组,只需使用:

$array = array('(', ')', '@',...);
$replace = array('\(', '\)', '\@',...);
str_replace($array, $replace, $test);
于 2013-01-17T12:31:35.307 回答