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 03/05/2006, 20h55   #1
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Par défaut Supprimer toutes les balises script et ce qu'elles contiennent

Bonsoir,
je désire supprimer d'une page html, toutes les balises scripts et ce qu'il y a à l'intérieur
Code :
1
2
3
 
   $blocnote_riche = eregi_replace("<script[^>.]*>","",$blocnote_riche);
   $blocnote_riche = eregi_replace("</script[^>.]*>","",$blocnote_riche);
supprime bien les balises mais le contenu demeure.
Par contre, je veux conserver tout le reste, pour bénéficier de la mise en page .

Des idées sur une fonction simple ou faut-il que je balaie le fichier pour récupèrer les positions des balises de début et de fin et que supprime ce qu'il y a entre le début de la balise de début et la fin de la balise de fin ?
Si oui, un petit bout de code exemple m'avancerait bien ...

--
Cordialement,
Christophe Charron
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 21h40   #2
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 569
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 569
Points : 2 503
Points : 2 503
Salut, en fait avec ton script tu ne fais que supprimer la balise <script> puis la balise </script>. Tu peux utiliser ça
Code :
$blocnote_riche = preg_replace('@<script[^>]*?>.*?</script>@si', '', $blocnote_riche);
Ce code provient de PHP.net : http://fr2.php.net/manual/fr/function.preg-replace.php ; le 1er exemple correspond justement à ce que tu veux faire.

Bon développement

PS : préfère preg_replace à ereg_replace ou eregi_replace
Citation:
Envoyé par PHP.net
Astuce : preg_replace(), qui utilise la syntaxe des expressions rationnelles compatibles PERL, est une alternative plus rapide de ereg_replace().
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/05/2006, 22h19   #3
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Citation:
Envoyé par Nesmontou
Salut, en fait avec ton script tu ne fais que supprimer la balise <script> puis la balise </script>. Tu peux utiliser ça
Code :
$blocnote_riche = preg_replace('@<script[^>]*?>.*?</script>@si', '', $blocnote_riche);
Ce code provient de PHP.net : http://fr2.php.net/manual/fr/function.preg-replace.php ; le 1er exemple correspond justement à ce que tu veux faire.

Bon développement

PS : préfère preg_replace à ereg_replace ou eregi_replace
Bonsoir et merci pour la prompte réponse ... presque presque mais dans ce cas, comment puis-je échapper le
Code :
1
2
/ de fin de balise script ? de
 $blocnote_riche = preg_replace('@<script[^>]*?>.*?</script>@si', '', $blocnote_riche);
Christophe Charron est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/05/2006, 14h59   #4
Membre éprouvé
 
Avatar de Christophe Charron
 
Homme Christophe Charron
Développeur informatique
Inscription : juillet 2005
Messages : 768
Détails du profil
Informations personnelles :
Nom : Homme Christophe Charron
Âge : 51
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Développeur informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2005
Messages : 768
Points : 492
Points : 492
Citation:
Envoyé par Christophe Charron
Bonsoir et merci pour la prompte réponse ... presque presque mais dans ce cas, comment puis-je échapper le
Code :
1
2
/ de fin de balise script ? de
 $blocnote_riche = preg_replace('@<script[^>]*?>.*?</script>@si', '', $blocnote_riche);
Oups, désolé : la mauvaise coloration syntaxique de mon éditeur (PSPad en l'occurrence) m'a induit en erreur Il interprète le comme fin de balise php !!
__________________
Cordialement,
Christophe Charron
Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature .
Christophe Charron 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 15h19.


 
 
 
 
Partenaires

Hébergement Web