- ベストアンサー
"の前に\がついてしまいます
毎度お世話になります。 テキストエリアに自由に入力させて、その内容をファイルに保存させたいのですが、例えばaタグ <a href="hoge.html"> と入力したデータが、ファイルに保存されると <a href=\"hoge.html\"> となってしまいます。 テキストエリアに入力したデータは、POSTで渡され、改行位置にnl2brで改行記号をつけて一度配列に入れて各配列をtrimで改行を削除し、もう一度文字列に戻してファイルに書き込んでいます。 (入力したデータを1行で保存したいため) このやりかたもどうかと思うのですが、"前の\について回避方法がありましたら教えてください。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
多分、(php.iniでの設定)magic_quotes_gpcのオプションの効果だと思います。 http://jp2.php.net/manual/ja/ref.info.php#ini.magic-quotes-gpc stripslashes関数を使って取り除いてもいいと思います http://jp2.php.net/manual/ja/function.stripslashes.php
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
回答No.1
POSTされたデータがどのようにエスケープされるかは よく調べてみてください。 とりあえず、エスケープを防ぐことはできませんので 受け取ったデータを変換すればよいでしょう。 $_POST["data"]=str_replace("\\\"","\"",$_POST["data"]);
質問者
お礼
ありがとうございます。 やはり毎度取り除かないとダメですか・・・ 何か設定とかそういう問題ではないのでしょうか。
お礼
どうもありがとうございました。 納得できました。 回避策もありがとうございます。