• ベストアンサー

\nが\\nまたは\\\\nとなっていた場合すべて\nに置き換えるには?

DBにデータを保存しようとしているのですがSQL Injection対策の為\を入力すると\\となってしまい改行である\nが無効になってしまいます。 いろいろ調べてるうちにpreg_replaceという関数があるこを知ったのですがどうやって組めばいいのか分かりません。具体的には\nの形で\が2個以上ある場合(\\nや\\\n)はすべて\nに戻すようにしたいと思っております。 どうぞよろしくお願いいたします。 又、別な方法でこれを回避するものがありましたらぜひお教えください。

質問者が選んだベストアンサー

  • ベストアンサー
  • fire--
  • ベストアンサー率49% (146/293)
回答No.1

$replace_after = preg_replace("/\\\\+n/","\n",$replace_before); かな。 今後のために、以下にマニュアルがあります。 http://www.php.net/manual/ja/ また、以下からはwindowsヘルプ版の日本語マニュアルを ダウンロードできます。 http://www.php.net/download-docs.php

Intel_404
質問者

お礼

回答ありがとうございました。 すいません、初心者な者でマニュアルを拝見しPHPの公式サイトも見ましたが、自力では解決できず聞かざるおえない状態でした。 近くPHP辞書(リファレンス)を書店で購入したいと思います。 今後もよろしくお願いいたします。

関連するQ&A