Aide pour un Preg_replace
Hors ligneAudayls Le 01/10/2006 à 13:52 Profil de Audayls Configuration de Audayls

Jeune Padawan
Bonjour,
    Je souhaite "colorier" un contenu particulier dans une balise, mais jusqu'ici mes tentatives ont été nulles ... lol

    J'essaye de faire en sorte que lorsque mon script analyse un code html, il met également en valeur le code CSS ou Javascript du code HTML. Mais le problème, c'est que je n'arrive pas à limiter la mise en valeur

    Par exemple :
le code HTML suivant :"/* Commentaire non colorié */ <style> /* Commentaire colorié */ </style>"
devrait donner : "/* Commentaire non colorié */ <style>/* Commentaire colorié */</style>"
mais malheureusement il donne : "/* Commentaire non colorié */<style>/* Commentaire colorié */</style>"

J'utilise les preg_replace, mais je n'arrive pas à définir le pattern...
Pouvez vous m'aider ?
--
'Cause it's a bittersweet symphony, this life
Hors ligneAnthony Le 01/10/2006 à 19:44 Profil de Anthony Configuration de Anthony

Fou du volant
Salut,

un truc du genre <style>(.+?)/*(.+?)*/</style> ?
--

Hors ligneAudayls Le 01/10/2006 à 21:06 Profil de Audayls Configuration de Audayls

Jeune Padawan
Salut boss
Anthony a écrit :
<style>(.+?)/*(.+?)*/</style>


oui un truc de ce genre mais lorsque je fais :


<?php $code = preg_replace('`&lt;style(.*?)&gt;(.+?)(/\*(.+?)\*/)`sim','&lt;style$1&gt;$2<span class="csscommentaires">$3</span>',$code); ?> si il y a plusieurs commentaires un seul se colore (le premier) ...

et si j'essaye :


<?php $code = preg_replace('`&lt;style(.*?)&gt;(.+?)(/\*(.+?)\*/)*`sim','&lt;style$1&gt;$2<span class="csscommentaires">$3</span>',$code); ?> là plus rien ne se colore - -"
--
'Cause it's a bittersweet symphony, this life
Hors ligneAnthony Le 03/10/2006 à 12:36 Profil de Anthony Configuration de Anthony

Fou du volant
Dans ce cas utilise un preg_match_all() pour récupérer tout ce qui correspond au masque ;)
--

Hors ligneAudayls Le 04/10/2006 à 21:47 Profil de Audayls Configuration de Audayls

Jeune Padawan
Je connaissais pas cette fonction mais n'empeche que encore une fois tu as la solution ! mdr
--
'Cause it's a bittersweet symphony, this life
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels