Bonjour à tous,
J'ai un vrai souci avec les expressions régulières...
je veux isoler tout ce qui est comme ça dans une chaine :"{(.*)}"
voilà mon code :
et ce que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 $chaine=" <TABLE> <tr> <td colspan='3'> <IMG title='image1' src='{constant:IMG_1}'> <IMG title='image2' src='{constant:IMG_2}'> <IMG title='image3' src='{constant:IMG_3}'> <IMG title='image4' src='{constant:IMG_4}'> </td></tr> <TR> <TD> <A onMouseOver=\"document.images['a'].src='{constant:IMG_5}';\" onMouseOut=\"document.images['a'].src='{constant:IMG_6}';\"><IMG src='{constant:IMG_6}'></A></TD> </TD> <TD> <A onMouseOver=\"document.images['b'].src='{constant:IMG_7}';\" onMouseOut=\"document.images['b'].src='{constant:IMG_8}';\"><IMG src='{constant:IMG_7}'></A></TD> </TR> </TABLE> "; preg_match_all("#{constant:(.*)}#",$chaine,$tableau_ereg); print_r($tableau_ereg[0]);
Vous avez sans doute compris, je voudrais obtenir ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Array ( [0] => {constant:IMG_1} [1] => {constant:IMG_2} [2] => {constant:IMG_3} [3] => {constant:IMG_4} [4] => {constant:IMG_5}';" onMouseOut="document.images['a'].src='{constant:IMG_6}';"><IMG src='{constant:IMG_6} [5] => {constant:IMG_7}';" onMouseOut="document.images['b'].src='{constant:IMG_8}';"><IMG src='{constant:IMG_7} )
Il y a un souci dans mon expression régulière, il ne s'arrête pas au 1er "}" trouvé, mais apparemment au dernier de la ligne...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Array ( [0] => {constant:IMG_1} [1] => {constant:IMG_2} [2] => {constant:IMG_3} [3] => {constant:IMG_4} [4] => {constant:IMG_5} [5] => {constant:IMG_6} [6] => {constant:IMG_6} [7] => {constant:IMG_7} [8] => {constant:IMG_8} [9] => {constant:IMG_7} )
Et je ne vois pas du tout comment modifier mon expression... Vous avez une idée ?
Merci.
Partager