ID: 22366
Updated by: [EMAIL PROTECTED]
Reported By: csaba at alum dot mit dot edu
-Status: Open
+Status: Bogus
Bug Type: PCRE related
Operating System: Win 2K
PHP Version: 4.3.0
New Comment:
When you use preg_match_all() with only 3 paramaters,
then PREG_PATTERN_ORDER is assumed for order flag.
Previous Comments:
------------------------------------------------------------------------
[2003-02-21 17:01:39] csaba at alum dot mit dot edu
The following code gives me an error message of:
Wrong value for parameter 4 in call to preg_match_all() ...
if I replace the PREG_OFFSET_CAPTURE with either
PREG_OFFSET_CAPTURE | PREG_SET_ORDER
or PREG_OFFSET_CAPTURE | PREG_PATTERN_ORDER
then it works as advertised.
This contradicts the documentation statement:
If no order flag is given, PREG_PATTERN_ORDER is assumed
$page = "<html><head></head><body><form>" .
"<input onClick='alert(\"Hi Mom\")' " .
"value='Click me'>" .
"<input onClick='alert(\"Hi Dad\")' " .
"value=\"Dad's button\">" .
"</form></body></html>";
$regexp = "/<input[^>]*(value=[^>]*)>/";
if (!preg_match_all($regexp, $page, $mtch,
PREG_OFFSET_CAPTURE))
print "<br>Could not match";
else print "<br>Found matches";
This is on my PHP 4.3.0 / Apache 2.0.43 / Win 2K Pro system
Csaba Gabor from New York
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22366&edit=1