Req #55179 [Opn->Sus]: Offer preg_match with array-support for pattern

From: Date: Sun, 02 Feb 2020 22:38:07 +0000
Subject: Req #55179 [Opn->Sus]: Offer preg_match with array-support for pattern
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-225312@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=55179&edit=1

 ID:                 55179
 Updated by:         cmb@php.net
 Reported by:        neufeind@php.net
 Summary:            Offer preg_match with array-support for pattern
-Status:             Open
+Status:             Suspended
 Type:               Feature/Change Request
 Package:            PCRE related
 PHP Version:        5.3.6
 Block user comment: N
 Private report:     N

 New Comment:

Well, it seems to me that you basically could pass

    implode('|', $patterns)

to preg_match(); that would need slightly modified $patterns, and
preg_quote() for the general case, though.  And of course, the
given example could use a single regex with a character class.

In my opinion, the feature as presented is not very useful, and
under-specified (for instance, how to detect which pattern
matched), and as such needs discussion on the internals mailing
list[1].  Please feel free to propose the feature there.  For the
time being, I'm suspending this ticket.

[1] <https://www.php.net/mailing-lists.php#internals>


Previous Comments:
------------------------------------------------------------------------
[2011-07-11 07:38:32] neufeind@php.net

Description:
------------
Maybe the existing preg_match could allow for an array to be given as $pattern. Or if not a
preg_match_array() might be an alternative.

Idea is to check a string against a list of pattern. First matched pattern would return.

Test script:
---------------
<?php
  $patterns = array(
    '/\.link1$/',
    '/\.link2$/',
    '/\.link3$/',
    '/\.link4$/',
  );

  $subject = "field.link2";

  if(preg_match($patterns, $subject)) {
    // ...
  }


Expected result:
----------------
preg_match should find the first pattern that matches (if any).

Actual result:
--------------
No array-support for $pattern yet.


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=55179&edit=1


Thread (3 messages)

« previous php.bugs (#225312) next »