Bonjour,
Je galère depuis un certains temps a essayer de faire une expression régulière qui verifie que la balise </body> n'est pas appelé par un echo.
J'ai essayer de pondre une regex qui vérifieque la balise </body> n'est pas entouré de <?php|<? Et ?>, mais cela ne fonctionne pas.
Exemple problématique :
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
23 Code html : <?php if(mysql_num_rows($menu_gal)) { while ($d=mysql_fetch_array($menu_gal,MYSQL_ASSOC)) { echo'<a href="/galerie-reception/',rewriteUrl($d['cat']),'-',$d['id'],'.html" '; if($cat) if($cat['cat'] == $d['cat']) echo $aktif; echo'>',txthtml($d['cat'],0),'</a>'; } } else echo'<a href="#" ',$aktif,'><strong>La galerie est vide pour le moment</strong></a>'; ?> </div> <div id="dyn_cont"></div> </div> </body> </html> <?php include_once 'inc/png.php'; echo replacePngTags(ob_get_clean()); ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Regex (<[?](php)?)((.?|[[:space:]]?)*)</body>(.?|[[:space:]]?)*[?]>
Le problème dans ma regex, c'est que je ne vérifie pas si la balise php se reférme avant le body et si elle s'ouvre après. Et je ne sait pas comment écrire cela.
Pouvez-vous me mettre sur la voie.
Merci.
Partager