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 21/09/2011, 17h27   #1
Membre régulier
 
Inscription : décembre 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 493
Points : 90
Points : 90
Par défaut Remplacer toutes les balises HTML sauf un certain type

Bonjour,

Existe-t-il une syntaxe qui correspondrait à remplacer toutes les balises HTML sauf une en particulier ? Par exemple à l'heure actuelle je supprime tout ce qui est contenu dans les formulaires, les balises de style, les script javascript, les balises HTML... de cette façon :

Code :
1
2
3
$contenuSave = @file_get_contents($url);
$search = array ("@<form.*?</form>@si", "@<style.*?</style>@si", "@<script.*?</script>@si", "@<[\/\!]*?[^<>]*?>@si");
$contenu = preg_replace($search, array("", "", "", ";"), $contenu);
Je souhaiterais que toutes les balises HTML soient remplacées sauf "<br />".
C'est possible ? Merci d'avance
nicolas2603 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 17h39   #2
Membre expérimenté
 
Avatar de Torgar
 
Homme Jérémy
Développeur Web
Inscription : août 2007
Messages : 326
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2007
Messages : 326
Points : 535
Points : 535
Envoyer un message via MSN à Torgar Envoyer un message via Skype™ à Torgar
Bonjour,

Est-ce que cette fonction ferai l'affaire ? http://fr.php.net/manual/fr/function.strip-tags.php


Cordialement,
__________________
Vivez vos rêves !!!

Si vous voulez que l'on vous aide, postez votre code avec la balise [ CODE ] [ /CODE ] (bouton # de l'éditeur)
Torgar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 17h49   #3
Membre régulier
 
Inscription : décembre 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 493
Points : 90
Points : 90
Effectivement j'avais vu cette fonction, mais elle est à mi-chemin de ce que je cherche en fait.

Plus pour être plus précis, j'ai besoin de remplacer les balises HTML par des ";" sauf les <br>. Du coup cette fonction me supprime bien tout sauf les <br>, mais je n'ai pas la possibilité de remplacer les autres par ";".
nicolas2603 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2011, 23h50   #4
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Un truc dans ce genre

Code :
1
2
3
4
$str = '<h1>foo<p>bar</p>baz<br/>buz</h1>';
$pattern = '#<(?!br/)[^<>]*>#';
$r = preg_replace($pattern, ';', $str);
var_dump($r);
non ?
__________________
  • Avant de poser une question, n'hésitez pas à chercher dans la FAQ et les forums
  • Merci d'utiliser les balises de code (# dans l'éditeur)
  • Si votre problème est réglé, merci d'utiliser le bouton
S.N.A.F.U
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/09/2011, 09h06   #5
Membre régulier
 
Inscription : décembre 2006
Messages : 493
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 493
Points : 90
Points : 90
Exactement ! Fonctionne parfaitement, ce qui prouve que je n'ai rien compris aux Regex...
Merci beaucoup.
nicolas2603 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 17h27.


 
 
 
 
Partenaires

Hébergement Web