我使用netbeans,我试图用\\
替换\
但它失败了,它不能逃脱\\
这个字符。PHP preg_replace
这不是Netbeans问题,这是一个PHP问题。
preg_replace('\','\\','text to \ be parsed');
任何溶剂?
我使用netbeans,我试图用\\
替换\
但它失败了,它不能逃脱\\
这个字符。PHP preg_replace
这不是Netbeans问题,这是一个PHP问题。
preg_replace('\','\\','text to \ be parsed');
任何溶剂?
使用4个反斜杠请不要忘记分隔符:
echo echo preg_replace('~\\\\~','\\\\\\\\','text to \\ be parsed');
说明:当PHP解析\\\\
会逸出\\
两次,这意味着它成为\\
,现在当PHP将它传递给正则表达式引擎时,它将收到\\
,这意味着\
。
尝试使用php chr()
函数并告知preg_replace字符的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'),
?>
这工作:(使用str_replace()函数,而不是preg_replace函数())
$str = "text to \ be parsed";
$str = str_replace('\\', '\\\\', $str);
echo $str;
将无法正常工作,需要ascii码 –
@IonutFlaviusPogacian我提供了一个在线演示和一些解释,以消除所有的疑虑。我们正在讨论正则表达式。 – HamZa
是的,良好的捕捉 - 它的作品,现在的解释说清楚。 +1 – naththedeveloper