- ベストアンサー
機種依存文字
機種依存文字を排除したいのですが、PHPでどのように書けばいいのか検討がつきません。 また、DB(Postgres)で検索のときに、排除できるのならばいいのですが、そのような検索方法はないですよね?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 機種依存文字は、 http://www.shtml.jp/mojibake/izon_check.html より、 ・13区の特殊文字(0x8740~0x879F 83文字) ・NEC選定IBM拡張文字(0xED40~0xEEFC 374文字) ・IBM拡張文字(0xFA40~0xFC4B 388文字) ・外字(0xF040~0xF9FC) ということで、 |[\x85-\x88][\x40-\x9E]|[\xEA-\xFC][\xA5-\xFC] が不要そうですね。
その他の回答 (2)
- hiro823
- ベストアンサー率25% (74/285)
こんにちは。 PHPユーザーメーリングリストの過去検索を貼り付けておきますので、参考にしてみてください。 http://ns1.php.gr.jp/pipermail/php-users/2003-June/016573.html 機種依存文字があるかどうかをチェック→はじく or 変換する、というコトをされてるみたいです。 検索ワードは「機種 依存です。
お礼
ありがとうございます。私には少し難しいようでした。 参考になりました。
- iiikkk
- ベストアンサー率37% (92/247)
if( preg_match( "/([\x87][\x40-\x9F]|[\xED-\xEE][\x40-\xFC]|[\xFA-\xFC][\x40-\x4B]|[\xF0-\xF9][\x40-\xFC]|[\x85-\x88][\x40-\x9E]|[\xEA-\xFC][\xA5-\xFC])/", $str )) { print "機種依存文字"; } どこかでこんなの見て、参考にさせてもらいました。
お礼
ありがとうございます。うまくいきました。
補足
再び質問なのですが、全角カタカナもこれだと機種依存文字となりますが、全角カタカナはどれをあらわしているのでしょうか? 参考になるURLなどあれば教えてください。
お礼
早速の回答ありがとうございます。 こちらで、修正してみようと思います。