note 94238 added to function.preg-split
| From: | jan dot sochor at icebolt dot info | Date: | Sat, 24 Oct 2009 10:26:43 +0000 |
| Subject: | note 94238 added to function.preg-split | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-162033@lists.php.net to get a copy of this message | ||
Sometimes PREG_SPLIT_DELIM_CAPTURE does strange results.
<?php
$content = '<strong>Lorem ipsum dolor</strong> sit <img src="test.png"
/>amet <span class="test"
style="color:red">consec<i>tet</i>uer</span>.';
$chars = preg_split('/<[^>]*[^\/]>/i', $content, -1, PREG_SPLIT_NO_EMPTY |
PREG_SPLIT_DELIM_CAPTURE);
print_r($chars);
?>
Produces:
Array
(
[0] => Lorem ipsum dolor
[1] => sit <img src="test.png" />amet
[2] => consec
[3] => tet
[4] => uer
)
So that the delimiter patterns are missing. If you wanna get these patters remember to use
parentheses.
<?php
$chars = preg_split('/(<[^>]*[^\/]>)/i', $content, -1, PREG_SPLIT_NO_EMPTY |
PREG_SPLIT_DELIM_CAPTURE);
print_r($chars); //parentheses added
?>
Produces:
Array
(
[0] => <strong>
[1] => Lorem ipsum dolor
[2] => </strong>
[3] => sit <img src="test.png" />amet
[4] => <span class="test" style="color:red">
[5] => consec
[6] => <i>
[7] => tet
[8] => </i>
[9] => uer
[10] => </span>
[11] => .
)
----
Server IP: 147.32.160.17
Probable Submitter: 89.102.219.238
----
Manual Page -- http://www.php.net/manual/en/function.preg-split.php
Edit -- https://master.php.net/note/edit/94238
Del: integrated -- https://master.php.net/note/delete/94238/integrated
Del: useless -- https://master.php.net/note/delete/94238/useless
Del: bad code -- https://master.php.net/note/delete/94238/bad+code
Del: spam -- https://master.php.net/note/delete/94238/spam
Del: non-english -- https://master.php.net/note/delete/94238/non-english
Del: in docs -- https://master.php.net/note/delete/94238/in+docs
Del: other reasons-- https://master.php.net/note/delete/94238
Reject -- https://master.php.net/note/reject/94238
Search -- https://master.php.net/manage/user-notes.php