[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 メーリングリストの案内