#22366 [Opn->Bgs]: PREG_OFFSET_CAPTURE produces error with preg_match_all

From: Date: Sun, 23 Feb 2003 08:52:14 +0000
Subject: #22366 [Opn->Bgs]: PREG_OFFSET_CAPTURE produces error with preg_match_all
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-33979@lists.php.net to get a copy of this message
ID: 22366 Updated by: sniper@php.net 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

« previous php.bugs (#33979) next »