<?php
$text = "Testing text splitting\nWith a newline!";
$textArray = preg_split('/\s+/', $text, 0, PREG_SPLIT_DELIM_CAPTURE);
print_r($textArray);
Der obige Code wird ausgegeben folgendes:Leerzeichen Trennzeichen nicht in Preg geteilt
Array
(
[0] => Testing
[1] => text
[2] => splitting
[3] => With
[4] => a
[5] => newline!
)
aber meines Wissens sollte die PREG_SPLIT_DELIM_CAPTURE Flagge die Leerzeichen Trennzeichen in dem Array erfassen werden. Fehle ich etwas?
edit: Ok, nach dem erneuten Lesen der Dokumentation verstehe ich jetzt, dass PREG_SPLIT_DELIM_CAPTURE nicht für diesen Fall gedacht ist. Meine gewünschte Ausgabe wäre so etwas wie:
Array
(
[0] => Testing
[1] => ' '
[2] => text
[3] => ' '
[4] => splitting
[5] => '\n'
[6] => With
[7] => ' '
[8] => a
[9] => ' '
[10] => newline!
)
Wer hat Ihnen das gesagt? –
Ich meine, wenn das nicht der Fall ist, gibt es dann einen anderen Weg? – user2827048
Gemäß dem php [Handbuch] (http://php.net/manual/en/function.preg-split.php) bewirkt 'PREG_SPLIT_DELIM_CAPTURE', dass alle in Klammern gesetzten Teile des Musters ebenfalls zurückgegeben werden. Was ist Ihre gewünschte Ausgabe? –