php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #16512 PREG_SPLIT_DELIM_CAPTURE does not work
Submitted: 2002-04-09 08:59 UTC Modified: 2002-04-09 09:10 UTC
From: bogien at conecto dot pl Assigned:
Status: Closed Package: PCRE related
PHP Version: 4.1.2 OS: Win32, Linux
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: bogien at conecto dot pl
New email:
PHP Version: OS:

 

 [2002-04-09 08:59 UTC] bogien at conecto dot pl
PREG_SPLIT_DELIM_CAPTURE does not work - preg_split() simply omits the delimiters disregarding the flag.

The following line:

print_r(preg_split('/a/', 'mama', -1, PREG_SPLIT_DELIM_CAPTURE));

...returns:

Array
(
    [0] => m
    [1] => m
    [2] => 
)

...just like without the last argument - while it should return:

Array
(
    [0] => m
    [1] => a
    [2] => m
    [3] => a
    [4] => 
)

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-04-09 09:10 UTC] mfischer@php.net
Read the manual:

PREG_SPLIT_DELIM_CAPTURE

If this flag is set, parenthesized expression in the delimiter pattern will be captured and returned as well. This flag was added for 4.0.5.

So your pattern should look like:
/(a)/

and presto, it works.
 [2002-09-24 04:54 UTC] ed at avi dot ru
It will be a nice idea to put this example to documentation; I was already going to send a bug report about PREG_SPLIT_DELIM_CAPTURE when I found this article.
 [2011-05-05 14:18 UTC] admin2011 at luebker dot org
very useful information, please add to documentation or highlight the phrase "parenthesized expression". Thanks.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Apr 25 13:01:30 2024 UTC