Bug #73948 [Ana]: Preg_match_all should return NULLs on trailing optional capture groups.
| From: | requinix@php.net | Date: | Sat, 14 Apr 2018 14:47:19 +0000 |
| Subject: | Bug #73948 [Ana]: Preg_match_all should return NULLs on trailing optional capture groups. | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-214748@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=73948&edit=1
ID: 73948
Updated by: requinix@php.net
Reported by: tomasyorke at hotmail dot com
Summary: Preg_match_all should return NULLs on trailing
optional capture groups.
Status: Analyzed
Type: Bug
Package: PCRE related
Operating System: Windows 7
PHP Version: 7.0.14
Block user comment: N
Private report: N
New Comment:
The filling should happen with or without PREG_UNMATCHED_AS_NULL. What it should control whether the
filler is NULLs or empty strings.
Previous Comments:
------------------------------------------------------------------------
[2018-04-14 14:42:46] cmb@php.net
Since we now have PREG_UNMATCHED_AS_NULL, the solution appears to
be straight forward: fill up NULL values at the end, only if
PREG_UNMATCHED_AS_NULL is used. Since this option is only
available as of PHP 7.2.0, the resulting BC break seems to be
acceptable.
------------------------------------------------------------------------
[2018-04-14 14:39:07] cmb@php.net
Related To: Bug #76221
------------------------------------------------------------------------
[2017-01-23 18:31:19] cmb@php.net
> But why would you need an RFC for a bugfix?
An RFC might be over the top, but at least a PR to get some
attention appears to be appropriate.
------------------------------------------------------------------------
[2017-01-23 17:53:31] tomasyorke at hotmail dot com
If you wish to delay this change until 7.2, that sounds fine.
But why would you need an RFC for a bugfix?
------------------------------------------------------------------------
[2017-01-23 17:43:39] tomasyorke at hotmail dot com
I'm glad we didn't go the unset route. Having fixed sized arrays is useful for looping by
groups/matches independently of the Flag used.
You also can very easily know how many groups/matches the regex returned/contained.
By making the output array dynamicly sized. You only allow for an easy way to determine one of these
things. While making the other more complex.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=73948
--
Edit this bug report at https://bugs.php.net/bug.php?id=73948&edit=1