ID:               36983
 User updated by:  crisp at tweakers dot net
 Reported By:      crisp at tweakers dot net
-Status:           Bogus
+Status:           Closed
 Bug Type:         PCRE related
 Operating System: all
 PHP Version:      4.4.2
 New Comment:

Indeed this seems to be an issue with PCRE; version 6.6 still has this
problem so I'll try my luck with the PCRE team.
Notwithstanding I don't believe 'bogus' is the right status for this
bug since it is an actual issue, just not with PHP (although afaik PHP
still ships with PCRE version 6.4).
I'll just put this bug to 'closed'


Previous Comments:
------------------------------------------------------------------------

[2006-04-05 14:36:06] [EMAIL PROTECTED]

If there is a problem, it is PCRELib problem.
Please report it to PCRELib developers.

------------------------------------------------------------------------

[2006-04-05 12:41:15] crisp at tweakers dot net

Description:
------------
It seems that when PCRE needs to backtrack more than 20 characters in
order to evaluate an OR'ed expression the results of a preg_match_all
are incorrect/incomplete.
See below code as an example.

Reproduce code:
---------------
$foo = 'foo# bar# abcdefghijklmnopqrst bla#';
echo '$foo = ', $foo, "\n";

preg_match_all('/([a-y]|z)+#/', $foo, $matches1);
preg_match_all('/([a-y]+|z)+#/', $foo, $matches2);

print_r($matches1[0]);
print_r($matches2[0]);


$foo = 'foo# bar# abcdefghijklmnopqrstu bla#';
echo '$foo = ', $foo, "\n";

preg_match_all('/([a-y]|z)+#/', $foo, $matches1);
preg_match_all('/([a-y]+|z)+#/', $foo, $matches2);

print_r($matches1[0]);
print_r($matches2[0]);


Expected result:
----------------
both expressions for both strings should give the following output:

Array
(
    [0] => foo#
    [1] => bar#
    [2] => bla#
)

Actual result:
--------------
The last expression gives the following output on the last string:

Array
(
    [0] => foo#
    [1] => bar#
)

The last match on bla# is missing in the result for the preg_match_all


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=36983&edit=1

Reply via email to