Parser fichier HTML avec balise php (<? et ?>) imbriquées

cs_lavude Messages postés 2 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 12 juillet 2012 - 9 juil. 2012 à 09:04
cs_lavude Messages postés 2 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 12 juillet 2012 - 12 juil. 2012 à 09:57
Bonjour, pas très fort en regex... je suis confronté à un petit problème.

Je dois parser des fichiers HTML pour remplacer des mots par des liens dans le texte (hors des balises).
Le problème est que ce sont des fichiers (avec extension .php) dans lesquels figurent à l'intérieur des balises html classiques des balises php. Ce qui fait que les balise html "<" et ">" sont imbriquées avec des balises php "<?" et "?>".

Donc ça cafouille...lorsqu'il rencontre deux fois successivement la balise < et <? ou encore > et ?>

Voici un fragment du fichier à parser:
<HEAD>
<TITLE><? echo $titre; ?></TITLE>
<? include("include/copropriété-head-vilogi.php"); ?>
</HEAD>



<? echo $titre; ?>


<? echo $titre; ?>




copropriété
logiciel
blablablablablablablablablablablabla

Voici la regex de remplacement (php).
$tout=preg_replace("'(?!<.*?)$mot_rechercher(?![^<>$]*?>)'is", '[# '. $mot_rechercher.' XXXX]', $tout);

Merci pour votre précieuse aide.
Bonne journée

1 réponse

cs_lavude Messages postés 2 Date d'inscription mardi 1 mars 2005 Statut Membre Dernière intervention 12 juillet 2012
12 juil. 2012 à 09:57
personne pour me répondre
0
Rejoignez-nous