PHP函数删除许多addslashes

时间:2012-07-22 02:12:12

标签: php

是否有一种方法或功能可以删除许多添加斜杠,如下所示

 \\\\\\\"Oracle DBA\\\\\\\"

使用stripslashes()只会删除一个斜杠,

我必须使用preg_replace吗?像这样

preg_replace(/^\\(.*)/,"",$subject);

有这项工作吗?

3 个答案:

答案 0 :(得分:2)

如果您真的要做的就是替换反斜杠,那么您只需要:

$str = "\\\\\\\"Oracle DBA\\\\\\\"";
$str = str_replace("\\", "", $str);

如果您还想要删除正斜杠:

$str = str_replace(array("\\", "/"), "", $str);

@therefromhere提出了一个很好的观点:删除所有斜杠可能会破坏你的转义。

在这种情况下,负面预测可能会起到作用:

$str = preg_replace("/\\\(?!\")/", "", $str);

应该导致`\“Oracle DBA \”

编辑:做了一个woopsie。 X2

答案 1 :(得分:0)

您不需要正则表达式来执行此操作。只需使用:

$string = str_replace(array('/', '\\'), '', $string);

答案 2 :(得分:0)

如果你知道需要删除多少级别的转义,你可以多次运行stripslashes字符串。

如果你没有,那么我不确定你能完全正确地做到这一点 - 你可以删除所有斜线,但显然你会打破本应存在的任何斜线。