繁体   English   中英

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

[英]PHP how to replace \\ with \ using preg_replace

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

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

非常感谢

请改用stripcslashes()stripslashes() 这里没有正则表达式的充分理由,另一方面,它们比内置函数更昂贵。

您是否有特殊原因要使用preg_replace? 你应该使用str_replace:

php > echo str_replace("\\\\", "\\", "I\\\\'ve had");
I\'ve had

问题是,与preg_replace函数,你必须逃离\\的PHP解释器,你必须逃脱\\再次为正则表达式的解释。 所以基本上,你必须写这个:

php > echo preg_replace("/\\\\\\\\/", "\\", "I\\\\'ve had");
I\'ve had

因为要在php字符串中写一个\\ ,所以必须写\\\\ ,但是必须对regexp的解释器都进行转义,然后它变成\\\\\\\\ 这是一个\\ ,所以你必须重复两次。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM