Probleme avec une expression regulière

Discussion dans 'Administration d'un site Web' créé par Lauweb, 9 Avril 2004.

  1. Lauweb
    Lauweb Nouveau WRInaute
    Inscrit:
    22 Février 2003
    Messages:
    15
    J'aime reçus:
    0
    Bonjour,

    Je cherche à ne garder que le texte de certaines de mes pages afin d'en faire des fichiers texte.
    La fonction strip_tags élimine bien toutes les balises mais pas l'interieur des balises <script> et <style>


    Voici le script:
    Code:
    <? 
    $fd = fopen ("mapage.php", "r"); 
    while (!feof ($fd)) 
    { 
    $buffer = fgets($fd, 4096); 
    $buffer = strip_tags($buffer, '<title>'); 
    $buffer = trim($buffer); 
    $buffer = eregi_replace("<title>(.*)</title>", "", "$buffer");
    $buffer = eregi_replace("l'expression regulière que je cherche pour eliminer le contenu des balises scripts", "", "$buffer"); 
    
    echo $buffer; 
    } 
    fclose($fd); 
    ?> 
    
    J'ai don essayé des tas de choses comme:
    Code:
    $buffer = preg_replace ('^<script(.*)>(.*)</script>$', " ", $buffer);
    
    Mais ça ne donne rien!

    Quelqu'un connait il une expression regulière ou une autre manière pour épurer completement une chaine de caractere?

    Merci de votre aide precieuse.
     
  2. Lauweb
    Lauweb Nouveau WRInaute
    Inscrit:
    22 Février 2003
    Messages:
    15
    J'aime reçus:
    0
    Non? personne n'a une petite idée?

    Le script est sur le point de fonctionner, il semble que c'est une histoire d'espaces et de sauts de ligne qui empêche la bonne execution du script...

    Si la page à traiter est de cette forme:
    Code:
    <script>mafonction(){blableblibloblu}</script>
    .....corps de la page.....
    
    ça marche

    Si la page à traiter est de cette forme (avec des sauts de ligne):
    Code:
    <script>
    mafonction(){blableblibloblu}
    </script>
    .....corps de la page.....
    
    ça ne marche pas


    Pourtant, j'ai bien enlevé les /n et les /r
    Voir le code actuel:
    Code:
    <? 
    $fd = fopen (monfichier.php, "r"); 
    while (!feof ($fd)) 
    { 
    $buffer = fgets($fd, 4096); 
    $buffer = str_replace(array("\n","\r"),array("",""),$buffer); 
    $buffer = preg_replace("/<script[^>]*>.*<\/script>/isU","",$buffer); 
    echo $buffer; 
    } 
    fclose($fd); 
    ?> 
    
    Si quelqu'un peut m'eclairer, j'en serais ravi.
    Merci d'avance.
     
  3. George Abitbol
    George Abitbol WRInaute passionné
    Inscrit:
    6 Juin 2003
    Messages:
    1 519
    J'aime reçus:
    0
    Alors utilise l'option de recherche s, pour ta regex.
    http://fr2.php.net/manual/fr/pcre.pattern.modifiers.php

    Fred
     
  4. Lauweb
    Lauweb Nouveau WRInaute
    Inscrit:
    22 Février 2003
    Messages:
    15
    J'aime reçus:
    0
    Merci George

    Mais j'utilise déjà cette option:
    Code:
    $buffer = preg_replace("/<script[^>]*>.*<\/script>/isU","",$buffer);
    Je bloque...
     
  5. George Abitbol
    George Abitbol WRInaute passionné
    Inscrit:
    6 Juin 2003
    Messages:
    1 519
    J'aime reçus:
    0
    Ah oui, en effet. En fait je crois que tu devrais d'abord récupérer tout le contenu dans ta variable et après seulement faire le traitement sur cette variable. Parce que là tu traites ligne par ligne donc effectivement les motifs ne correspondent pas.

    Fred
     
  6. Lauweb
    Lauweb Nouveau WRInaute
    Inscrit:
    22 Février 2003
    Messages:
    15
    J'aime reçus:
    0
    Oui... euh... et comment tu fais ça?
     
  7. George Abitbol
    George Abitbol WRInaute passionné
    Inscrit:
    6 Juin 2003
    Messages:
    1 519
    J'aime reçus:
    0
    Ben au lieu d'écraser la valeur de $buffer à chaque ligne parcourue, tu concatènes à la suite et à la fin de ta boucle tu auras tout le contenu dans $buffer. L'opérateur de la concaténation est le point.

    Fred
     
  8. Lauweb
    Lauweb Nouveau WRInaute
    Inscrit:
    22 Février 2003
    Messages:
    15
    J'aime reçus:
    0
    Désolé je n'ai jamais eu l'occasion de faire ce genre de concatenation

    Si tu pouvais me montrer, j'apprendrais quelque chose

    Merci à toi, Fred
     
  9. George Abitbol
    George Abitbol WRInaute passionné
    Inscrit:
    6 Juin 2003
    Messages:
    1 519
    J'aime reçus:
    0
    Code:
    <?php
    $buffer = '';
    $fd = fopen ("mapage.php", "r");
    while (!feof ($fd)) {
      $buffer .= fgets($fd, 4096);
    }
    fclose($fd);
    ?>
    Et ensuite seulement tu fais ton traitement.

    Fred
     
  10. Lauweb
    Lauweb Nouveau WRInaute
    Inscrit:
    22 Février 2003
    Messages:
    15
    J'aime reçus:
    0
    Genial! ça marche! Je n'y aurais pas pensé,

    Fred, tu m'as enlevé une sacrée épine du pied, ça faisait 1 semaine que j'étais la dessus...

    Merci encore :p
     
Chargement...
Similar Threads - Probleme expression regulière Forum Date
problème avec expression regulière en java Développement d'un site Web ou d'une appli mobile 21 Août 2015
Problème expression régulière Développement d'un site Web ou d'une appli mobile 1 Avril 2011
Problème avec une expression régulière ereg_replace Développement d'un site Web ou d'une appli mobile 9 Août 2010
Problème pour définir une expression régulière. Développement d'un site Web ou d'une appli mobile 11 Juin 2010
Problème pour définir une expression régulière. Développement d'un site Web ou d'une appli mobile 8 Juin 2010
probleme de slash dans une expression reguliere Développement d'un site Web ou d'une appli mobile 21 Mars 2010
probleme dans mon expression reguliere pour le rewriting URL Rewriting et .htaccess 14 Février 2008
[Résolu] Problème Expressions régulières Développement d'un site Web ou d'une appli mobile 29 Octobre 2007
Petit problème avec un expression régulière. URL Rewriting et .htaccess 13 Avril 2006
problème expression régulière URL Rewriting et .htaccess 8 Janvier 2006
probleme d'Expression reguliere Administration d'un site Web 31 Août 2004
Problème d'expressions régulières Administration d'un site Web 23 Mars 2004
Problème de référencement sur expression clé principale Problèmes de référencement spécifiques à vos sites 18 Octobre 2009
Problème d'expression rationnelle pour vérifier un email Développement d'un site Web ou d'une appli mobile 22 Avril 2006
Probleme de visibilité de ma page Facebook Facebook Aujourd'hui à 03:56
problème avec le développeur Droit du web (juridique, fiscalité...) 22 Juin 2022
Problème désindexation des pages de Google Débuter en référencement 21 Juin 2022
Problème d'indexation de pages sur Google Problèmes de référencement spécifiques à vos sites 31 Mai 2022
problème de redirection non souhaitée Administration d'un site Web 28 Avril 2022
Problème d'indexation Produits Prestashop Crawl et indexation Google, sitemaps 28 Avril 2022