[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>
υυυυυυυυυυυυυυυυυυυυυυ