preg_match() option for anchored offset?
| From: | Rasmus Schultz | Date: | Wed, 07 Jun 2017 20:03:31 +0000 |
| Subject: | preg_match() option for anchored offset? | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-99442@lists.php.net to get a copy of this message | ||
What do you think about adding another option to preg_match() to allow the
$offset parameter to be treated as the start anchor?
The manual proposes to do this:
$subject = "abcdef";
$pattern = '/^def/';
$offset = 3;
preg_match($pattern, substr($subject, $offset), $matches);
In other words, use substr() to copy the entire remainder of the string.
I just wrote a simple SQL parser tonight, and had to use this approach,
which (I imagine) must be pretty inefficient?
I'd like to be able to do the following:
$subject = "abcdef";
$pattern = '/^def/';
$offset = 3;
preg_match($pattern, $subject, $matches, PREG_ANCHOR_OFFSET, $offset);
This new option would make the ^ anchor work from the given $offset, which
allows me to parse the entire $subject without copying anything.
Thoughts?