• ベストアンサー

\の付加について

質問させて頂きます。 とあるフォームでテキストデータを入力し、 それをデータベースに格納しているのですが その際に、不要な位置に「\」マークが追加されてしまいます。 それを省いて格納したいのですが、可能でしょうか? 格納前に↓のように、改行処理的な命令を行ってます。 $text = mysql_escape_string($text); $text = ereg_replace("(\n|\r|\r\n)", "<br>", $text); $text = ereg_replace("\t" , " " , $text); 問題のテキスト文章 「表では」の「表」と「で」の間に「\」が入ります。→「表\では」 「貼られ」の「貼」と「ら」の間に「\」が入ります。→「貼\られ」 他にも「\」が入りましたが 表現を変えて直してみたら、「\」は表示されませんでした。 「表」と「貼」という字は文字化け的な要素が絡んでいるのでしょうか? このような質問で申し訳ありません。

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

  • ベストアンサー
  • gensuke_
  • ベストアンサー率55% (5/9)
回答No.3

一つの解決法は、No.2様が言われているように、EUCを用いる方法です。 もしそれが無理でしたら、php.iniでmagic quotes gpc をOffにします。 その設定もいじれないのでしたら、stripslashes() 関数を利用してバックスラッシュを取り除くことができます。 http://php.s3.to/tt/tt5.php 上記の「書き込み処理」の項目にあります。 http://jp.php.net/manual/ja/function.stripslashes.php stripslashesの説明

gantz77
質問者

お礼

有難う御座いました。参考にさせて頂きます。

その他の回答 (2)

  • Jirorian
  • ベストアンサー率58% (7/12)
回答No.2

EUCを使えば解決できます。 下記HPを参照してください。

参考URL:
http://www.psl.ne.jp/perl/pdojo00c.html
gantz77
質問者

お礼

有難う御座いました。参考にさせて頂きます。

  • ac_2000
  • ベストアンサー率10% (9/87)
回答No.1

> 「表」と「貼」という字は文字化け的な要素が絡んでいるのでしょうか? そうです。 除去する前に、文字コード関連の扱いを勉強しなおし修正したほうが良いと思います。

gantz77
質問者

補足

いえ、文字化けてはいないんです。 単に「表」と「貼」の後ろに「\」が付いてしまうだけなんです。 「\」も試しましたが、効果はありませんでした。

関連するQ&A