[PHP-users 11326] Re: SJISコードでの比較
Osamu Shigematsu
php-users@php.gr.jp
Wed, 6 Nov 2002 22:55:21 +0900
重松です。こんにちは。
On 2002.Nov.6, at 21:17 Asia/Tokyo, d-ushijima wrote:
> このような比較がしたいのですが無理なのでしょうか?
> 環境がPHP3なのでマルチバイト文字列の扱いに戸惑っています。
できなくもないと思うんですが、ご自身で気付いている通りだと思いますが、
たくさんのいわゆる機種依存文字があると、その数だけ、そして、
文字列が長いと、ものすごくかったるい比較を行わないといけなくなりますが、
そういう処理を軽減するために、「正規表現 (Regular Expression)」
という手法があります。
マルチバイト文字に対応したものを使えば、(さもないと、不適切な位置で文字を
分割して、マッチングが不正確になる可能性があります)、
[あ-ん] とすると、文字コードが「あ」〜「ん」までの文字集合をまとめて、
表現したこととなり、そういう独自拡張の文字コードの範囲を指定することで、
該当範囲の文字が含まれるか否かを素早く照会できます。
最初は取っ付きづらいかと思いますし、PHP の場合、ereg 系や
Perl 互換, Ruby 互換 (日本語対応) など数種類が利用できるために、
ちょっとややこしいかもしれませんが、がんばって調べてみて下さい。
--
Osamu Shigematsu