• ベストアンサー

【PHP】半角「\」を全角「¥」に変換したい(2)

同じ過去の質問を見つけたのですが、実行してみたところできなかったので相談させてください。【過去質問】:http://oshiete1.goo.ne.jp/qa3065958.html PHP Version 4.4.6、文字コードはshift-JISです。 アンケートフォームで入力された値を受け取り、半角「\」があれば全角「¥」に置換したいのですが、上手くいきません。 試したのは下記の方法です。 [1]  $str = preg_replace("\\", "¥", $str); [2]  $str = mb_ereg_replace("\\\\", '¥', $str); [3]  $str = preg_replace("/\\\\/", '¥', $str); 同じ質問をされている方は文字コードが「UTF-8」で上記の[2][3]で上手くいっているようなので、文字コードを変更すればいいのかもしれませんが、現在あるフォームを修正しているので、できればshift-JISでしたい・・・と模索中です。 また、サイトの性質上「○○円の~」というようなメッセージが多いので、¥を削除することはできるだけ避けたいです。 ご指導をお願いいたします。

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

  • ベストアンサー
回答No.1

下記のように文字コードを明示的に指定してみてはどうでしょうか。 mb_regex_encoding("SJIS"); $str = mb_ereg_replace("\\\\", '¥', $str);

noname#102084
質問者

お礼

ご回答ありがとうございました! 早々にご回答いただいていたのに返事が遅くなってすみません; 結果としては望みどおりの動作が確認できました。 記述に問題はなく、処理を2度も行っていたのが原因でした。 お騒がせしました;

関連するQ&A