Code : Tout sélectionner
$A="a.php|xx;a.php|yy;b.php|ss;uu.php|rr;uu.php|dd;uu.php|gg;";Code : Tout sélectionner
a.php
xx
yy
b.php
ss
uu.php
rr
dd
gg
Code : Tout sélectionner
$A="a.php|xx;a.php|yy;b.php|ss;uu.php|rr;uu.php|dd;uu.php|gg;";Code : Tout sélectionner
a.php
xx
yy
b.php
ss
uu.php
rr
dd
gg
"/(.*)[;|\|]/Ui"
Cela devrait te permettre de retrouver dans le tableau des résultats capturés par les parenthèses, toutes les chaines qui se terminent par un point virgule ou un pipe.. il te suffirait ensuite de purger les doublons à l'aide des fonctions sur les tableaux... c'est à tester par contre, chuis pas certain de la syntaxe $str = ''; // sous-chaine, variable temporaire
$tab = array(); // tableau de résultat
for ($i=0; $i<strlen($chaine); $i++) {
if ($chaine[$i] == ';' || $chaine[$i] == '|') { // si caractère séparateur trouvé
$tab[] = $str; // ajout de la chaine dans le tableau
$str = ''; // raz de la chaine
}
else { // sinon
$str.= $chaine[$i]; // ajout du caractère dans la sous chaine
}
}
print_r($tab);