以下のように多くの追加スラッシュを削除する方法または機能はありますか
\\\\\\\"Oracle DBA\\\\\\\"
stripslashes() を使用すると、スラッシュが 1 つだけ削除されます。
preg_replace を使用する必要がありますか? このような
preg_replace(/^\\(.*)/,"",$subject);
この作品で?
以下のように多くの追加スラッシュを削除する方法または機能はありますか
\\\\\\\"Oracle DBA\\\\\\\"
stripslashes() を使用すると、スラッシュが 1 つだけ削除されます。
preg_replace を使用する必要がありますか? このような
preg_replace(/^\\(.*)/,"",$subject);
この作品で?
本当にバックスラッシュを置き換えたいだけなら、必要なのは次のとおりです。
$str = "\\\\\\\"Oracle DBA\\\\\\\"";
$str = str_replace("\\", "", $str);
スラッシュも削除する場合:
$str = str_replace(array("\\", "/"), "", $str);
ただし、 @therefromhere は良い点を示しています。すべてのスラッシュを削除すると、エスケープが壊れる可能性があります。
その場合、否定的な先読みがうまくいくかもしれません:
$str = preg_replace("/\\\(?!\")/", "", $str);
`\"Oracle DBA\" という結果になるはずです
編集:ウープシーを作りました。x2
これを行うために正規表現は必要ありません。これを使用するだけです:
$string = str_replace(array('/', '\\'), '', $string);
削除する必要があるエスケープのレベル数がわかっている場合は、文字列をstripslashes
複数回実行するだけです。
そうしないと、これを完全に正しく行うことができるかどうかわかりません。すべてのスラッシュを削除できますが、明らかにそこにあるはずのスラッシュを壊してしまいます。