PHP如何使用preg_replace替换\\与\

时间:2010-11-22 22:56:39

标签: php

我想在PHP中用\\替换\我试过这段代码,但它不起作用吗?

$var= preg_replace('/\\\\/', "\\", $var);

非常感谢

2 个答案:

答案 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的解释器转义它们,它就变成了\\\\。这是一个\,所以你必须重复两次。