Une piste...
Ceci :
1 2 3 4 5 6 7 8
| <?php
header('Content-Type: text/plain') ;
$s = 'CMD1 P11 P12 P13 P14 CMD23 CMD2 P21 P22 CMD1 P15 P16 CMD5 P51' ;
$pattern = '/(?:CMD\d+(?: P\d+)*)/' ;
preg_match_all($pattern, $s, $result) ;
print_r($result) ; |
Donne :
1 2 3 4 5 6 7 8 9 10 11 12
| Array
(
[0] => Array
(
[0] => CMD1 P11 P12 P13 P14
[1] => CMD23
[2] => CMD2 P21 P22
[3] => CMD1 P15 P16
[4] => CMD5 P51
)
) |
Ce que tu devrais pouvoir traiter sans souci ;-)
Sinon j'ai aussi ceci :
$pattern = '/(?:(CMD\d+)((?: P\d+)*))/' ;
Qui donne :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| Array
(
[0] => Array
(
[0] => CMD1 P11 P12 P13 P14
[1] => CMD23
[2] => CMD2 P21 P22
[3] => CMD1 P15 P16
[4] => CMD5 P51
)
[1] => Array
(
[0] => CMD1
[1] => CMD23
[2] => CMD2
[3] => CMD1
[4] => CMD5
)
[2] => Array
(
[0] => P11 P12 P13 P14
[1] =>
[2] => P21 P22
[3] => P15 P16
[4] => P51
)
) |
Partager