• ベストアンサー

文字変換

全角英数字から半角英数字に変換する方法を教えてください。 ereg_replace()を使っていろいろやってみてはいるのですが、どうしても正しく動きません。 よろしくおねがいします。

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

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

拡張モジュールのmbstring使えば、 変換する関数があります。 数字だけぐらいだったら、 mbstring 使わないで その分ループするとか。 $replacetable= array("0"=>"0","1"=>"1","2"=>"2","3"=>"3","4"=>"4", "5"=>"5","6"=>"6","7"=>"7","8"=>"8","9"=>"9"); foreach($replacetable as $key => $value){ $str=ereg_replace($key,$value,$str); }

noname#15014
質問者

お礼

なるほどー。こんな考え方もあるんですね。 PHP始めたばかりなのでとても参考になりました。 ありがとうございました。

その他の回答 (1)

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.2

#NO1同様 mbstring が使えることが前提ですが、 mb_convert_kana()という非常に便利のいい関数があります。 $str=mb_convert_kana($str,"a"); で一発です。

noname#15014
質問者

お礼

現在の環境ではmbstringは使えないのですが、参考になりました。 ありがとうございました。