- ベストアンサー
php 正規表現で、\マークを取り除くには?
php で ereg_replace関数を使って¥マークを取り除きたいのですが、 ereg_replace("\\", "",$str); と記述すると Warning: ereg_replace() [function.ereg-replace]: REG_EESCAPE in C:\xampp... とエラーになってしまいます。 どうすれば正規表現により円マークを取り除くことができるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
<? $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問題がありますので 要注意です
その他の回答 (1)
- php504
- ベストアンサー率42% (926/2160)
回答No.2
ひょっとしてエスケープされた文字列を元に戻したいのでは それなら $str = stripslashes( $str ); が使えます。 違ったら無視してください。
質問者
お礼
回答ありがとうございます。 まさに、今の処理がその関数がピッタリです。
お礼
回答ありがとうございます。 たしかに、shiftjisの環境なのでダメ文字が化けまくりです。 utf8にコンバートします。