Séparateur conditionné d'un explode
Bonjour,
Je suis à la fin d'une formation de développeur logiciel AFPA qui se termine par un stage et je suis confronté à une grosse difficulté.
Voilà par exemple la chaîne de caratère suivante :
"Consultant Conduite du changement / Organisation (Management / Métier)Consultant fonctionnel / MOA (Management / Métier)"
Je voudrais pouvoir la segmenter de cette façon :
Consultant Conduite du changement
Organisation (Management / Métier)
Consultant fonctionnel
MOA (Management / Métier)
Il faudrait donc la délimiter à partir des slashs sauf quand ces derniers se trouvent dans des parenthèses et aussi à partir de la première parenthèse fermante.
Mais j'essaye déjà de me concentrer sur le problème des slashs que je veux garder dans les parenthèses.
J'ai déjà codé ça :
Code:
1 2 3 4 5 6 7 8
| $string = 'Consultant Conduite du changement / Organisation (Management / Métier)Consultant fonctionnel / MOA (Management / Métier)';
$tmp=explode("/", $string);
for($i=0, $max=count($tmp); $i<$max; $i++)
$tabMetiers[]=trim($tmp[$i]);
var_dump($tabMetiers); |
Evidemment, ça segmente à partir de tous les slashs y compris ceux entre parenthèses.
Alors, j'ai essayé d'isoler les expressions qui contiennent des parenthèses avec à l'intérieur des slashs mais sans grand succès.
Code:
1 2 3 4
| $string = 'Consultant Conduite du changement / Organisation (Management / Métier)Consultant fonctionnel / MOA (Management / Métier)';
preg_match('%.*\((.*?)\).*%Ui', $string, $matches);
var_dump($matches); |
Est-ce que quelqu'un aurait une bonne idée pour résoudre ce problème?
Merci d'avance, Seb.