2013-12-06

[PHP] MacやiPhoneから入力された円マークを除去

WordPressのメール投稿プラグインを使用しているサイトで
本文中の円マークをstr_replaceで取り除こうとしたところ、うまくいきませんでした。

<試したPHPのコード>
$str = str_replace(‘¥¥’, ”, $str);

これはUnicodeでの¥マークがWindowsとMacで異なっているのが原因のようです。
Windowsは¥マークとバックスラッシュが同じコードであるのに対し、
Macはそれぞれ別のコードになっています。


Windowsの場合
0x5C … ¥、バックスラッシュともに

Macの場合
0xC2 0xA5 … ¥
0x5C … バックスラッシュ

なので、文字コードを文字に変換するchr関数を使用して変換しました。
$str = str_replace(chr(0xC2).chr(0xA5), ”, $str);


他にいいやり方をご存じの方がいましたら教えてくださいませ。

Comment:

Trackback URL: