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

Signaler
Messages postés
2
Date d'inscription
mardi 1 mars 2005
Statut
Membre
Dernière intervention
12 juillet 2012
-
cs_lavude
Messages postés
2
Date d'inscription
mardi 1 mars 2005
Statut
Membre
Dernière intervention
12 juillet 2012
-
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

Messages postés
2
Date d'inscription
mardi 1 mars 2005
Statut
Membre
Dernière intervention
12 juillet 2012

personne pour me répondre