我想在PHP中用\\
替换\
我试过这段代码,但它不起作用吗?
$var= preg_replace('/\\\\/', "\\", $var);
非常感谢
答案 0 :(得分:1)
改为使用stripcslashes()或stripslashes()。这里的正则表达式没有充分的理由,另一方面它们比内置函数更昂贵。
答案 1 :(得分:1)
您是否有特殊原因要使用preg_replace?你应该使用str_replace:
php > echo str_replace("\\\\", "\\", "I\\\\'ve had");
I\'ve had
问题在于使用preg_replace,您必须为PHP的解释器转义\
并且必须再次为{regexp'解释器转义\
。所以基本上,你必须写这个:
php > echo preg_replace("/\\\\\\\\/", "\\", "I\\\\'ve had");
I\'ve had
因为要在php字符串中写一个\
,你必须写\\
,但是你必须为regexp的解释器转义它们,它就变成了\\\\
。这是一个\
,所以你必须重复两次。