3

我使用netbeans,我尝试替换\\\但失败了,它无法转义\\字符。

这不是 Netbeans 问题,而是 PHP 问题。

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

任何解决方案?

4

3 回答 3

6

使用 4 个反斜杠,请不要忘记分隔符:

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

在线演示

说明: PHP解析\\\\时会转义\\两次,即变成,现在当PHP将其传递给正则\\表达式引擎时,它会接收到。\\\

于 2013-08-02T13:15:26.673 回答
2

尝试 phpchr()函数并告诉 preg_replace 字符 ascii 代码\\\.

函数

ascii码表

<?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

这有效:(使用 str_replace() 而不是 preg_replace())

$str = "text to \ be parsed";

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

echo $str;
于 2013-08-02T13:26:18.823 回答