Req #34121 [Asn->Opn]: Add DFA support to preg_match() function
| From: | kalle@php.net | Date: | Tue, 24 Oct 2017 06:00:13 +0000 |
| Subject: | Req #34121 [Asn->Opn]: Add DFA support to preg_match() function | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-211968@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=34121&edit=1
ID: 34121
Updated by: kalle@php.net
Reported by: nlopess@php.net
Summary: Add DFA support to preg_match() function
-Status: Assigned
+Status: Open
Type: Feature/Change Request
Package: PCRE related
Operating System: *
PHP Version: *
-Assigned To: andrei
+Assigned To:
Block user comment: N
Private report: N
Previous Comments:
------------------------------------------------------------------------
[2005-08-15 20:52:09] nlopess@php.net
OK, patch revised.
I've added support for partial matching. This can be usefull, for example, in a CLI app to beep
when a user enters a bad char (by doing partial matching when a new char comes in).
TODO: make preg_match_all() fetch all the data (instead of the hardcoded limit). this may be tricky.
------------------------------------------------------------------------
[2005-08-13 14:21:46] nlopess@php.net
Assigning to Andrei, as he's the PCRE extension maintainter.
------------------------------------------------------------------------
[2005-08-13 14:20:51] nlopess@php.net
Description:
------------
I've made a patch to add DFA (PCRE 6) support to preg_match().
It isn't completed (yet), because I would like to receive your feedback first before
continuing.
patch: http://mega.ist.utl.pt/~ncpl/php_pcre_dfa.txt
example: http://mega.ist.utl.pt/~ncpl/dfa_example.php
TODO:
- currently preg_match_*() allocs memory for captures based on the number of capturing parentheses.
But this needs to be changed for the DFA mode.
- make partial matching working. The only thing it needs to be done is to save the workspace table
in the cache and reuse it when calling the pcre_dfa_exec() function.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=34121&edit=1