Fk01 | Salut, j'y suis arrivé en deux fois, je te drop ça
C'est un peut barbare je te le concède mais j'ai pas le temps d'optimiser la chose.
Première chose, voici le regex que j'ai utilisé pour capturer les "paquets": #(\w+), \((.+)\), \((.+)\), (\w+)#i
Pour avoir un aperçu je te propose de jeter un œil sur ce Regex Tester.
Le reste du traitement est on ne peut plus basique, si ce n'est que j'ai scindé le tout pour une manière compréhension.
Code :
- <?php
- $subject = "mot1, (mot2, mot3, mot4), (mot5, mot6, mot7, mot8), mot9";
- $pattern = "#(\w+), \((.+)\), \((.+)\), (\w+)#i";
- preg_match($pattern, $subject, $matches);
- $string = $matches;
- $replacement = "-";
- $string = preg_replace("#,#", $replacement, $string);
- $replacement = "$string[1], ($string[2]), ($string[3]), $string[4]";
- $result = preg_replace($pattern, $replacement, $subject);
- echo $result;
- ?>
|
Ce n'est pas parfait, mais si tu as des questions, n'hésites pas Message édité par Fk01 le 24-05-2011 à 18:18:51
|