• ベストアンサー

php 正規表現で、\マークを取り除くには?

php で ereg_replace関数を使って¥マークを取り除きたいのですが、 ereg_replace("\\", "",$str); と記述すると Warning: ereg_replace() [function.ereg-replace]: REG_EESCAPE in C:\xampp... とエラーになってしまいます。 どうすれば正規表現により円マークを取り除くことができるのでしょうか?

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

<? $str='\\test'; print $str; $str=ereg_replace('\\\\', '',$str); print $str; ?> で、いけますが、ereg_replaceは遅いという理由で推奨されていません。 また、そもそもズバリ\マークを削除するだけなら、正規表現を 使うこと自体お勧めできません。str_replace()をご利用ください <? $str='\\test'; print $str; $str=str_replace('\\', '',$str); print $str; ?> なお、shiftjisを使っているようであれば5c問題がありますので 要注意です

yuzuru0024
質問者

お礼

回答ありがとうございます。 たしかに、shiftjisの環境なのでダメ文字が化けまくりです。 utf8にコンバートします。

その他の回答 (1)

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

ひょっとしてエスケープされた文字列を元に戻したいのでは それなら $str = stripslashes( $str ); が使えます。 違ったら無視してください。

yuzuru0024
質問者

お礼

回答ありがとうございます。 まさに、今の処理がその関数がピッタリです。

関連するQ&A

専門家に質問してみよう