アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

と記述すると


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

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

A 回答 (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問題がありますので
要注意です
    • good
    • 0
この回答へのお礼

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

お礼日時:2008/12/08 15:37

ひょっとしてエスケープされた文字列を元に戻したいのでは


それなら
$str = stripslashes( $str );
が使えます。
違ったら無視してください。
    • good
    • 1
この回答へのお礼

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

お礼日時:2008/12/08 15:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!