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 に答える