[PHP-users 2704] Re: mbregex のインストール
Sadamu Okamoto
php-users@php.gr.jp
Mon, 15 Oct 2001 16:56:34 +0900
岡本です。
重松さん、ご返答有難うございます。
> とりあえず、[X-Y] とか、[^X-Y] はエンコーディング依存なので、
> mbereg の defaultencoding が何であるか、
> と言う情報も重要かも知れません。:-)
defaultencodingはEUC-JPです。
> 何れにしても、上の正規表現がおかしいことは明かですけど。
> [^] は含まないと言う意味ですから、平仮名が含まれない任意の一文字
> という意味になります。
>
> たとえば、仮名等を入力させる場合、全ての文字が平仮名で構成され、
> 空でないことが一般的に、
>
> if(!mbereg('^[あ-ん]+$',$name_kana)){ /* あ-ん は適当 */
> die('ふりがなに使えない文字が含まれているか、空です。');
> }
>
> と言うような感じの処理になるかと思います。
>
> それとも、
>
> if(mbereg('[^あ-ん]',$name)):
>
> というような処理なのでしょうか?
>
> 何れにしても、, が複数ある必要は無いと思います。
カンマがなぜ複数あるかと言うと、'ゝ'とかは
文字コードが[ぁ-ん]の中に含まれないために二つ
書いたものだと思います。
> それから、どうでも良いことかも知れませんが、片仮名にはあっても、
> 平仮名には無い文字がありますから、普通読み仮名には、片仮名を
> 使った方が良いと思います。たとえば、「ヴ」とか。
そうですね。ただ、今から仕様変更は出来ませんので、
今後の参考にさせて頂きます。
下記からは勉強不足の為、返答できません。
ご教授有難うございました。
以上
> あと、PHP 4.x の mbereg() は ruby ゆずりみたいですけど、
> GNU のコードの malloc() に失敗したときにそれを確認しないバグを
> そのまま引きずっているようなんですけど、これって、私の
> ソースコードの読みまちがいでしょうか?
> PHP-dev で同じネタを質問したのですが、情報を頂けなかったので、再度。
> # ruby は malloc() には失敗しないですが、PHP も失敗しない?
>
> --
> Osamu Shigematsu
> mailto:shige@ravi.ne.jp
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>
υυυυυυυυυυυυυυυυυυυυυυ
株式会社フルキャストシステムコンサルティング
システム開発部 岡本 定
E-mail<okamoto@fscc.co.jp>
〒150-0032
東京都渋谷区鶯谷町3-3 イマス渋谷1stビル3F
TEL<03-5428-0301>FAX<03-5428-0302>
υυυυυυυυυυυυυυυυυυυυυυ