Couper une chaîne sur un sépateur sauf si il y a un backslash
On peut utiliser :
<?php $split = preg_split("#/#", $input);
Mais si on ne veut pas couper si le séparateur est précédé par un anti-slash, il faut utiliser :
<?php $split = preg_split("#(?<!\\\)/#", $input));
// La partie ci-dessous supprime l'anti-slash afin de retrouver la chaîne
// sans caractère d'échappement.
array_walk(
$split,
function(&$item){
$item = str_replace("\\/", "/", $item);
}
);
https://stackoverflow.com/a/19989813/158716