Hm ist ganz klar!
Dazurch das du sagst das [^\] dem doppelpunkt nicht vorrangestellt werden darf, splitet er bei allen anderen buschstaben doppelpunkt kombis.
das heißt ob da "d:","3:" oder "!:" steht, genau dort wird gesplitet. Das heißt das letzte zeichen fällt immer weg, das es ja als trennzeichen angesehen wird.
Konnte es drehen wie ich es wollte, aber war für mich nicht möglich dies allein durch preg_split zu lösen.
Code: Select all
<?php
$data = "Alle meine entchen : oder nicht: oder doch nicht: oder doch!:klar!";
$atoms = explode(":",str_replace("\:","Ã?",$data));
foreach($atoms as $k => $v) $atoms[$k] = str_replace("Ã?","\:",$v);
?>
das wäre eine alternative, das das zeichen Ã? (O mit welle oben drauf) in unserem Wortschatz nicht vorkommt, jedoch ein ASCII zeichen ist.