[PHP-users 11683] Re: 文字列のマッチングについて
Moriyoshi Koizumi
php-users@php.gr.jp
Fri, 22 Nov 2002 05:16:45 +0900
小泉です。
mb_ereg 系列は Shift_JIS でも問題なく使えます。
あとは、内部エンコーディングが UTF-8 でもよければ preg系も大丈夫みたいです。
# ereg 系も EUC だから必ずしも大丈夫ということはありません。
(例) $result = preg_match("/日本語/u", "これは日本語ですか?");
"u" をつけてください。"U"(大文字) ではありません。
蛇足ですが、実は、ソースを見る限りではテーブルを追加するだけで
pcre を UTF-8 以外のマルチバイト文字に対応できるようなんですけど、
なにしろそのあとが面倒なので…。こんな感じになりそうですし。
1. パッチを作成する
2. pcre の開発者にコンタクトとる
3. パッチが組み込まれる (たぶんこれが一番の難所)
4. PHP ソースに更新された PCRE のバージョンを組み込んでもらう
5. 幸せ(?)
Osamu Shigematsu <m5issige@mr.hitachi-medical.co.jp> wrote:
> 重松です。こんにちは。
>
> > #EUCだと問題なく表示されます :)
>
> 正規表現のメタ文字を考慮してないことについては、言わずもかなですが、
> せっかく国際化された版を使っているわけだし、
> ereg() でなくて、mb_ereg() を使ったらどうかと思うのですが。
>
> # ruby-1.6.7 regex.h の 90 行目に MBCTYPE_SJIS が定義してあるから、
> # SJIS も問題なく使えると思うんですけど。>mb_ereg()
> # ウソだったら、ごめんなさい。
>
> --
> Osamu Shigematsu <m5issige@mr.hitachi-medical.co.jp>
>
>
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users