ID: 48433 Updated by: j...@php.net Reported By: l_done at tiscali dot it -Status: Open +Status: Feedback Bug Type: mbstring related Operating System: Linux/OSX PHP Version: 5.2.9 New Comment:
Please try using this snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ Previous Comments: ------------------------------------------------------------------------ [2009-05-30 09:47:37] l_done at tiscali dot it I tested this with those php versions: PHP 5.2.9 with Suhosin-Patch 0.9.7 (cli) (built: Mar 25 2009 12:11:14) (archlinux) PHP 5.2.8 (cli) (built: Feb 5 2009 21:21:13) (osx) PHP 5.2.6-3ubuntu4.1 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 23 2009 14:37:14) (ubuntu 9.04) PHP 5.2.4-2ubuntu5.6 with Suhosin-Patch 0.9.6.2 (cli) (built: Apr 17 2009 14:31:37) (ubuntu 8.04) ------------------------------------------------------------------------ [2009-05-30 09:24:42] l_done at tiscali dot it Description: ------------ When using alternation in negative lookbehind in a case-insensitive regexp with mb_ereg* functions, if the alternatives are of different lengths, the first alternative is treated in a "case-sensitive" way. Reproduce code: --------------- $text=' aA 1 bBb 2 cCcc 3 dDddd 4 '; $pattern='(?<!aa |bbb |cccc )[1-4]'; mb_ereg_search_init($text,$pattern,'i'); $r=mb_ereg_search_pos(); while ($r!==false) { $match=mb_ereg_search_getregs(); print_r($match); $r=mb_ereg_search_pos(); } Expected result: ---------------- Array ( [0] => 4 ) Actual result: -------------- Array ( [0] => 1 ) Array ( [0] => 4 ) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=48433&edit=1