IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Preg_replace dans une page html [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut Preg_replace dans une page html
    Bonjour,

    J'ai un fichier html et je voudrais retirer ce qu il y a entre le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <script ...> ...</script> et <style ...> ... </style>
    Pour cela, j'utilise preg_replace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = preg_replace('|<script[^>]*>[^<]*</style>|i','',$text);

    Ca marche pas...

    Qd je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = preg_replace('|<script[^>]*>[^<]*</|i','',$text);
    ca fonctionne deja mieux mais j'ai du trash

    On peut pas récupérer toute l'expression </style> ou </script>?

    Merci

  2. #2
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    tu veux récupérer ou remplacer ?

    parce que preg_replace comme son nom l'indique, il écrase ce que tu a dans tes balise par du vide.

  3. #3
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    je veux supprimer Ca me sert a rien ce qu il y a entre <script> et </script>

    Le problème vient de mon je suppose... Ca doit pas etre comme ca pour dire que l'expression se termine par </script>...

    Merci

  4. #4
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = preg_replace('#<script[^>]*>.*</style>#Usi','',$text);
    Usi, c'est la bonne combinaison pour lire toute la page en multi-ligne, casse non sensitive, et non gourmand.

    logiquement ca devrait marcher.

    si ca marche pas, fait un preg_match, pour voir ce que ca prend.

  5. #5
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    wow Merci

    Moi qui cherchait à faire des multilignes avec preg_matches dps lgt... Ca marche en tout cas merci

  6. #6
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    mmm .. j'ai encore quelques problèmes pour les expressions régulières...

    Je voudrais prendre tout excepté un groupe de mot.

    Par exemple, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <span id = "toto"> ... </span>
    <span id = "titi">... </span>
    Je voudrais une expression régulière qui me trouve tout ce qu il y a entre les span sauf id = "toto"

    j'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    preg_match_all(|<span id = \"[^(toto)*]\">(.*)</span>\Uis,$text,$matches)
    mais ca marche pas

    Merci

  7. #7
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all(|<span id = \"[^(toto)*]\">(.*)</span>\Uis,$text,$matches)
    déja pourquoi tu \ les " ... ca sert a rien

    apres :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all(#<span id = "(?!toto)">(.*)</span>#Usi,$text,$matches)
    ca devrait marcher, voir ce site : http://www.lumadis.be/regex/tuto_pcre.php#look

    Voila.

  8. #8
    Membre actif
    Inscrit en
    Février 2006
    Messages
    522
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 522
    Points : 282
    Points
    282
    Par défaut
    heuu oui en effet en fait pour te dire la vérité, j'utilisais regexp en javascript ^^ mais bon comme c'est un problème d'expression régulière, j'ai préféré le mettre ici

    Merci pour le lien !!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mutiple formulaire dans une page HTML
    Par yannickexia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 21/07/2005, 22h20
  2. [HTML]Inserer un *.swf dans une page html
    Par [Silk] dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 01/06/2005, 12h23
  3. Insérer du XML dans une page HTML
    Par Shaman LizardKing dans le forum XML/XSL et SOAP
    Réponses: 14
    Dernier message: 04/05/2005, 07h27
  4. Réponses: 6
    Dernier message: 14/12/2004, 02h47
  5. [Applet] Ouvrir une applet dans une page HTML
    Par debutant java dans le forum Applets
    Réponses: 4
    Dernier message: 04/06/2004, 17h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo