Make third parameter of preg_match_all optional
| Request #53238 | Make third parameter of preg_match_all optional | ||||
|---|---|---|---|---|---|
| Submitted: | 2010-11-03 19:32 UTC | Modified: | 2010-11-05 19:18 UTC | ||
| From: | giovanni at giacobbi dot net | Assigned: | aharvey (profile) | ||
| Status: | Closed | Package: | PCRE related | ||
| PHP Version: | 5.3.3 | OS: | any | ||
| Private report: | No | CVE-ID: | None | ||
[2010-11-03 19:32 UTC] giovanni at giacobbi dot net
Description:
------------
I had to count the time a regular expression is in a string, and the correct way to do this is with the return value of preg_match_all() because preg_match() will always return either 0 or 1.
The problem is that preg_match_all() enforces the third parameter. My request is to align the prototype of preg_match_all() to the one of preg_match(), i.e. making the third parameter optional.
Test script:
---------------
$cnt = preg_match_all('/<br\s*\/?>/i', "this<br/>my<br>text");
var_dump($cnt);
Expected result:
----------------
int(2)
Actual result:
--------------
Warning: preg_match_all() expects at least 3 parameters, 2 given in - on line 2
bool(false)
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2010-11-05 05:23 UTC] aharvey@php.net
-Status: Open +Status: Assigned -Assigned To: +Assigned To: aharvey
[2010-11-05 05:37 UTC] aharvey@php.net
[2010-11-05 15:00 UTC] giovanni at giacobbi dot net
Hi aharvey, thank you for the extremely quick reaction. Two things: I think you misplaced the [, it's supposed to go in front of the comma: -/* {{{ proto int preg_match_all(string pattern, string subject, array &subpatterns [, int flags [, int offset]]) +/* {{{ proto int preg_match_all(string pattern, string subject, [array &subpatterns [, int flags [, int offset]]]) second thing is.. any chance to have this backported for 5.3.4? There is no BC break since it's a parameter that becomes optional. I understand if you want to keep all API changes for minor version, it's what I would do as well..only problem with PHP is that it has a too slow release cycle. Thank you anyway, I really appreciate your support.[2010-11-05 19:18 UTC] aharvey@php.net
[2010-11-05 21:20 UTC] giovanni at giacobbi dot net