こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

php で ereg_replace関数を使って¥マークを取り除きたいのですが、

ereg_replace("\\", "",$str);

と記述すると


Warning: ereg_replace() [function.ereg-replace]: REG_EESCAPE in C:\xampp...
とエラーになってしまいます。

どうすれば正規表現により円マークを取り除くことができるのでしょうか?

投稿日時 - 2008-12-05 18:36:58

QNo.4532375

暇なときに回答ください

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

<?
$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問題がありますので
要注意です

投稿日時 - 2008-12-05 18:57:07

お礼

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

投稿日時 - 2008-12-08 15:37:23

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

投稿日時 - 2008-12-06 07:47:40

お礼

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

投稿日時 - 2008-12-08 15:38:49

あなたにオススメの質問