Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/08/2006, 13h18   #1
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Par défaut Supprimer les balises HTML

Salut,

J'utilise preg_replace pour supprimer toutes les balises HTML dans une chaine. Par exemple je veux remplacer <font color="red">couleur</font> par couleur.
Le problème, c'est qu'avec cette chaine, mon code supprime tout; par contre pour une image simple, ça fonctionne.
Voila le code:

Code :
$text = preg_replace("#\<(.+)\>#", "", $array['Text']);
Que dois-je changer?
Merci
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 13h29   #2
Rédacteur
 
Avatar de Yoshio
 
Homme
Inscription : septembre 2005
Messages : 1 741
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 1 741
Points : 1 497
Points : 1 497
pourquoi ne pas utiliser la fonction strip_tag() ?!

pour ton regex tu aurait peut être oublié de spécifier le début et la fin
Yoshio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 13h42   #3
Membre émérite
 
Inscription : mai 2004
Messages : 709
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : mai 2004
Messages : 709
Points : 852
Points : 852
Les quantificateurs PCRE sont gourmands c-à-d. qu'ils iront jusqu'au dernier </font> de ta page. Essaye:

#<(.+?)>#s ou #<(.+)>#sU

J'ai rajouté l'option s sinon le dot ne prendra pas les retours lignes.
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp
:quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT
Jabber: ripat at im.apinc.org
ripat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 15h41   #4
Inactif
 
Avatar de Kerod
 
Inscription : septembre 2004
Messages : 11 753
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 11 753
Points : 14 585
Points : 14 585
Oui pourquoi pas strip_tags ?

Comment enlever les balises html/php dans une chaine
Kerod est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/08/2006, 18h09   #5
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Citation:
Envoyé par Kerod
Oui pourquoi pas strip_tags ?
Bonne question Je ne me suis même pas posé la question de si une telle fonction existait... Je vais l'utiliser du coup

Merci
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/04/2008, 16h51   #6
Invité régulier
 
Inscription : juillet 2006
Messages : 8
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 8
Points : 5
Points : 5
Bonjour,
Je profite de ce topic pour exprimer mon besoin :
j'utilisé en php la fonction str_replace() pour faire un highlight des mots clés d'une recherche dans un fichier HTML que j'ouvre et je modifie dedans avec PHP sauf que j'ai soulevé une limite à mon code c'est que par exemple lorsque je met "Body" (une balise HTML) comme mot clé ça se change aussi donc ça pose un probléme.

Ce que j'ai besoin c'est comment remplacer le texte mais pas les balise HTML. y'en a une expression réguiliére ou autres !!

Merci
Thiouzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h16.


 
 
 
 
Partenaires

Hébergement Web