配列内のエントリと同じ値であるが、その前に\が付いている文字列の値をどのように置き換えますか?
$test = "Mike (D)";
$array('(',')','@','-');
()は配列内にあるため、$testは次のようになります。"Mike \(D\)";
したがって、基本的に、アイテムを、接頭辞\が付いた同じアイテムのアイテムに置き換えます。
addcslashes($test, "()@-");
$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);