3

私は netbeans を使用しています。置き換えようとしまし\\\が、失敗し、\\文字をエスケープできません。

これは Netbeans の問題ではなく、PHP の問題です。

preg_replace('\','\\','text to \ be parsed');

解決策はありますか?

4

3 に答える 3

6

4 つのバックスラッシュを使用し、区切り文字を忘れないでください。

echo echo preg_replace('~\\\\~','\\\\\\\\','text to \\ be parsed');

オンラインデモ

説明: PHP が解析すると2 回\\\\エスケープされます。つまり、 になります。PHP がそれを正規表現エンジンに渡すと、どちらを意味するかを受け取ります。\\\\\\\

于 2013-08-02T13:15:26.673 に答える
2

phpchr()関数を試して、 preg_replace に と の char ascii コードを伝え\ます\\

chr 関数

アスキーコード表

<?php
echo chr(52) . "<br>"; // Decimal value
echo chr(052) . "<br>"; // Octal value
echo chr(0x52) . "<br>"; // Hex value

preg_replace(chr(1),chr(2),'text'),

?>
于 2013-08-02T13:16:43.123 に答える
1

これは機能します: (preg_replace() ではなく str_replace() を使用)

$str = "text to \ be parsed";

$str = str_replace('\\', '\\\\', $str);

echo $str;
于 2013-08-02T13:26:18.823 に答える