La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  Détection de balise regex
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: Détection de balise regex  (Lu 1162 fois)
Détection de balise regex
« sur: le 17-06-2012 a 18:33:54 »
lulu44
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 84





Voir le Profil    E-Mail
Répondre avec citation

Bonjour,
  Question toute simple mais sans réponse pour moi. je cherche à colorer le code html qu'un utilisateur aurait rentré.

  Pour cela je récupère la valeur du champ et la fait passer par htmlspecialchars stripslashes et nl2br. ensuite à l'aide de preg_replace je souhaite colorer les balises(<a></a>) en orange. pour l'instant j'ai:
 
    $chaine = preg_replace("#(<[a-z0-9]>)#", "<span class='orange'>$1</span>", $chaine);

Ceci marche avec du bbcode si je change <> par [] dans le texte et le regex mais avec < et > cela ne fonctionne plus ! comment faire.

Rapporter au modérateur  

www.bandmusique.fr

Re:Détection de balise regex
« Répondre #1 sur: le 17-06-2012 a 23:33:14 »
lulu44
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 84





Voir le Profil    E-Mail
Répondre avec citation

  Je ne veux pas m'avancer mais je crois que c'est htmlspecialchers qui change la valeur de < et >, il faut peut etre les annoncer avec un caractère special mais lequel ? sachant que je ne veux pas que les balises soient interprétées :p

Rapporter au modérateur  

www.bandmusique.fr
Re:Détection de balise regex
« Répondre #2 sur: le 18-06-2012 a 01:52:23 »
lulu44
P'tit nouveau
**

Hors-Ligne

Sexe: Male
Messages: 84





Voir le Profil    E-Mail
Répondre avec citation

  Pour ceux qui cherchent, j'ai trouvé la solution sur le site officiel du php. htmlspecialchars transforme le code html en notation spécifiques tel que < devient "&lt;"
je vous passe le lien de toutes les transformations pour vous faire une idée : http://php.net/manual/fr/function.htmlspecialchars.php .

  du coup mon expression régulière donne:
  $code = preg_match('#&lt;[a-z0-9]{1,}&gt;#i', '<span class="orange">$1</span>', $code);

  Et ça fonctionne !!!

Rapporter au modérateur  

www.bandmusique.fr
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg