\\
を\
と置き換えたいのですが、このコードを試しましたが、何の効果もありません。PHP \をと置き換える方法preg_replaceを使用する
$var= preg_replace('/\\\\/', "\\", $var);
おかげでたくさん
\\
を\
と置き換えたいのですが、このコードを試しましたが、何の効果もありません。PHP \をと置き換える方法preg_replaceを使用する
$var= preg_replace('/\\\\/', "\\", $var);
おかげでたくさん
使用stripcslashes()またはその代わりstripslashes()。正規表現には正当な理由はなく、一方、組み込み関数よりも高価です。
preg_replaceを使用する特別な理由はありますか?あなたはstr_replaceを使用する必要があります。
php > echo str_replace("\\\\", "\\", "I\\\\'ve had");
I\'ve had
問題がにpreg_replaceで、あなたはPHPのインタプリタのため\
をエスケープする必要があり、あなたは正規表現の通訳のために再び\
を脱出しなければならないということです。だから、基本的に、あなたがこれを書く必要があるだろう:PHPの文字列で\
を書くこと
php > echo preg_replace("/\\\\\\\\/", "\\", "I\\\\'ve had");
I\'ve had
ので、あなたは\\
を記述する必要がありますが、正規表現のインタプリタの両方をエスケープする必要があり、それが\\\\
になります。これは1つの\
なので、2回繰り返す必要があります。
stripslashes()は必ずしも彼のケースでは機能しません(たぶん彼の文字列が台無しになっていて、\\と\がある場所にあります)が、stripcslashesは良いアイデアのように聞こえます。 –
それは私が両方を投稿した理由です); * str_replace()*は別の解決策です。しかし、正規表現を他の静的文字列に置き換えるだけでは、正規表現は大きすぎます。 – KingCrunch