[PHP-dev 846]Re: php-4.3.3RC3+libmbfl+onigurumaテスト版

Seiji Masugata s.masugata @ digicom.dnp.co.jp
2003年 8月 15日 (金) 12:05:25 JST


こんにちわ、桝形です。

Subject: [PHP-dev 845] mbfilter/mbregexのライセンス問題に関するまとめ

の件、お疲れ様です。

遅ればせながら、ようやくPHP4-4.3.3RC3-libmbfl-onigurumaのテストに
手をつけられるようになりました。

パッチの提供、どうもありがとうございます。

FreeBSD/Linux共にインストールが行えたので、Linuxの方で軽く動かして
みて、気になった点を報告させて頂きます。

test.php:
<?
echo mb_ereg_replace( "[ -/:-@[-`{-~]", "", "hoge[-]hoge" );
echo mb_ereg_replace( "[ -/:-@\\[-`{-~]", "", "hoge[-]hoge" );

// 半角記号文字
//  (20)〜/(2F)
// :(3A)〜@(40)
// [(5B)〜`(60)
// {(7B)〜~(7E)
?>

Warning: mb_ereg_replace(): mbregex compile err: premature end of char-class in /XXX/XXX/XXX/XXX/XXX/test.php on line 2

上記の様なスクリプトで、ワーニングが出るようになりました。
従来のPHP4.3.3RC3に戻すと、ワーニングは出ません。

Subject: [PHP-dev 832] Re: FYI:mbstring+鬼車 参考実装

で、小迫さんが、

> 非互換で最も大きいものは、
> 文字クラスの中でjava.util.regexの集合演算子([..], &&)を使用できるように
> したことと関連しているのですが、文字クラス中で[, -, ]の三文字を文字として
> 指定するときには、\でエスケープする必要があります。

と、あり、恐らく非互換にあたるもの。。。と解釈しました。

で、今後の方向性について確認なのですが、mbregex(oniguruma)
ライブラリでは、非互換の部分については、そもそもエンジンが
違うので、ライブラリ内部ではカバーしないというスタンスで
いくのでしょうか?

バージョンUP時に屍の山が見えてきそうダ。。。

--
Seiji Masugata<s.masugata @ digicom.dnp.co.jp>




PHP-dev メーリングリストの案内