是否有一种方法或功能可以删除许多添加斜杠,如下所示
\\\\\\\"Oracle DBA\\\\\\\"
使用stripslashes()只会删除一个斜杠,
我必须使用preg_replace吗?像这样
preg_replace(/^\\(.*)/,"",$subject);
有这项工作吗?
答案 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
字符串。
如果你没有,那么我不确定你能完全正确地做到这一点 - 你可以删除所有斜线,但显然你会打破本应存在的任何斜线。