我的PHP应用程序在addslashes()
的许多位置为引号添加反斜杠。不幸的是,这种添加产生的输出类似于以下内容。
每次刷新页面时,此字符串都会以反斜杠的数量增加。
不
别\'吨
别\\'吨
别\\\\'吨
别\\\\\\\\'T
等等。
我想编写一个删除所有这些额外反斜杠的函数。我试过了
str_replace($text, "\\\\", "");
无济于事。
答案 0 :(得分:1)
您可以使用:
stripslashes($text);
答案 1 :(得分:1)
$text=preg_replace('/\134+/',"\134",$text);
答案 2 :(得分:1)
如果您的实际值恰好包含\\
,会发生什么?例如,如果您的内容指的是Windows样式的共享引用 - \\192.168.1.1\foo
。如果你盲目地删除任何双斜线,你也会删除那些意味着的那些斜杠。
“正确”的答案实际上是不向不需要它们的东西添加斜线。你应该知道给定的值是否已经被转义(毕竟,你是控制每个值来自哪个值以及它用于什么的那个)并且只在需要时添加斜杠。