par
jpaul » 10 mai 2007, 22:41
Ce ne serait pas plus simple de jouer avec les séparateurs (espace puis "(") ?
Ben c'est ce que je propose :
preg_match("@^(.*) (.*) (.*)(\(.*\)) @", $V, $res);
Du début à espace (non compris) -> $res[1]
espace précédent (non compris) au prochain espace (non compris) -> $res[2]
espace précédent (non compris) à la parenthèse (non comprise) -> $res[3]
parenthèse précédente (comprise) à la prochaine parenthèse (comprise) -> $res[4]
(On utilise pas res[3])
Je ne sais pas ce que tu entends par 'jouer avec les séparateurs' mais ça risque de prendre plus de lignes.
Ceci dit, je viens de me rendre compte que j'ai un espace en trop à la fin, je pense que :
preg_match("@^(.*) (.*) (.*)(\(.*\))@", $V, $res);
est préférable

.
[quote="lem"]Ce ne serait pas plus simple de jouer avec les séparateurs (espace puis "(") ?
[/quote]
Ben c'est ce que je propose :
preg_match("@^(.*) (.*) (.*)(\(.*\)) @", $V, $res);
Du début à espace (non compris) -> $res[1]
espace précédent (non compris) au prochain espace (non compris) -> $res[2]
espace précédent (non compris) à la parenthèse (non comprise) -> $res[3]
parenthèse précédente (comprise) à la prochaine parenthèse (comprise) -> $res[4]
(On utilise pas res[3])
Je ne sais pas ce que tu entends par 'jouer avec les séparateurs' mais ça risque de prendre plus de lignes.
:wink:
Ceci dit, je viens de me rendre compte que j'ai un espace en trop à la fin, je pense que :
[php]preg_match("@^(.*) (.*) (.*)(\(.*\))@", $V, $res); [/php]
est préférable :oops: .