Expression reguliere et guillemet double

Discussion dans 'Administration d'un site Web' créé par achaternet, 8 Avril 2004.

  1. achaternet
    achaternet WRInaute discret
    Inscrit:
    11 Février 2003
    Messages:
    222
    J'aime reçus:
    0
    'soir,

    Je souhaite recuperer le contenu entre:

    <div align="justify">

    et

    </div>

    Ainsi j ai essayé avec <div align="justify">(.*)</div>

    dc ds du php

    eregi("^<div align=\"justify\">(.*)</div>$",$ligne,$reg);

    et avec ou sans ^ et $,...

    pas moyen que ça fonctionne, c est sans doute encore a cause du caractere particulier " que je 8O 8O

    Help me please!
     
  2. George Abitbol
    George Abitbol WRInaute passionné
    Inscrit:
    6 Juin 2003
    Messages:
    1 519
    J'aime reçus:
    0
    Il te suffit d'utiliser des guillemets simples pour délimiter ton motif :

    Code:
    eregi('^<div align="justify">(.*)</div>$', $ligne, $reg); 
    Mais... utilise plutôt les expressions régulières PCRE qui sont plus rapides :

    Code:
    preg_match('|^<div align="justify">(.*)</div>$|i', $ligne, $reg);
    Plus d'infos :
    http://fr3.php.net/preg_match
    http://fr3.php.net/manual/fr/ref.pcre.php

    Fred
     
  3. achaternet
    achaternet WRInaute discret
    Inscrit:
    11 Février 2003
    Messages:
    222
    J'aime reçus:
    0
    Bonjour fred,

    merci de ton aide ;)

    Je vais potasser ça ...
     
  4. Oncle Tom
    Oncle Tom WRInaute impliqué
    Inscrit:
    31 Mars 2003
    Messages:
    714
    J'aime reçus:
    0
    Essaie ça

    Code:
    $contenu = preg_replace("#(.*<div align=\"justify\">)(.*)(</div>.*)#si","$2",$reg);
    
    J'ai testé avec ce bout de phrase ("Cool <div align="justify">ça marche</div> !") et ça fonctionne ;)
     
  5. achaternet
    achaternet WRInaute discret
    Inscrit:
    11 Février 2003
    Messages:
    222
    J'aime reçus:
    0
    hmm,

    j oublié un element de taille, en fait, plus precisement:

    $lachaine="bon ben ..
    c le debut ... <div align="justify"> youpi, c est ici
    que l'on recup</div>mais pas ici";



    ou des fois c :

    $lachaine="bon ben c le debut ...
    c le debut ... <div align="justify"> youpi, c est ici que l'on recup</div>mais pas ici";


    (Le code est symbolique, car les doubles guillemets a l interieur de la chaine, faudre des \, c juste pour la lisibilité ;) )

    Ainsi l interpretation de l expression reguliere est differente en fct de $lachaine


    Je fait une boucle pour parcourir chaque ligne de la chaine, puis je fais les tests suivant:


    $lignis="la 1ere ligne de la chaine $lachaine, puis la 2eme...";
    if ($deb_bal<>2)
    {
    if ($deb_bal==0)
    {
    preg_match('|^<div align="justify">(.*)$|i', $lignis, $reg);
    $lignis=$reg[1];
    }
    if ($lignis<>"") {$deb_bal=1;$totchain.=$lignis;}

    if ($deb_bal==1)
    {
    preg_match('|^(.*)</div>$|i', $lignis, $reg);
    $lignis=$reg[1];
    if ($lignis<>"") {$totchain.=$lignis;$deb_bal=2;$lignis="";}

    }
    }


    Ainsi, il test en fonction si la balise </div> est sur la meme ligne ($lignis) que <div.. La s applique une expression reguliere differente

    $deb_bal==0 correspond au fait que pas encore trouvé la balise div d ouverture
    $deb_bal==1 c trouvé, on cherche la fin
    $deb_bal==2 on a tout le contenu entre les balises div




    Le resultat en sortie, suite a la fin de lecture de $lachaine, il retourne theoriquement, le contenue entre les balises DIV

    Mais ya comme un ti pb 8O 8O.
    J ai meme essayé avec le code de The Jedi, mais ri1 de bien :(
     
  6. George Abitbol
    George Abitbol WRInaute passionné
    Inscrit:
    6 Juin 2003
    Messages:
    1 519
    J'aime reçus:
    0
    Hum, t'as pas vraiment regardé mes liens, hein ? ;)

    Code:
    preg_match('|<div align="justify">(.*)</div>|si', $ligne, $reg);
    Inutile de faire ces tests, la recherche se fait sur toutes les lignes grâce à l'option s.

    Fred
     
  7. achaternet
    achaternet WRInaute discret
    Inscrit:
    11 Février 2003
    Messages:
    222
    J'aime reçus:
    0
    c good :!: :!:

    Merci a vous :wink:
     
Chargement...
Similar Threads - Expression reguliere guillemet Forum Date
Idées d'expressions régulières utiles en SEO Référencement Google 17 Mai 2021
Une expression régulière pour la home et un sous répertoire ? Google Analytics 22 Juin 2016
problème avec expression regulière en java Développement d'un site Web ou d'une appli mobile 21 Août 2015
PHP Expressions Régulières ! Modifier plusieurs occurences Développement d'un site Web ou d'une appli mobile 5 Août 2015
Création d'objectif et expression régulière analytics Google Analytics 15 Janvier 2015
Expression régulière Objectif Google Analytics 1 Février 2014
Expression reguliere récuperer ses backlinks Développement d'un site Web ou d'une appli mobile 2 Mai 2013
Expression régulière : extraire une chaine variable d'une chaine Développement d'un site Web ou d'une appli mobile 4 Septembre 2012
Expressions régulières début et fin de mot Développement d'un site Web ou d'une appli mobile 11 Août 2012
Expression régulière en objectif Google Analytics 31 Mai 2012
Expressions régulières et filtre Google Analytics Google Analytics 18 Avril 2012
Expressions régulières entonnoir de conversion Google Analytics 3 Février 2012
Expression régulière simple mais je bloque Référencement Google 16 Décembre 2011
Expression régulière pour rechercher/remplacer Dreamweaver Développement d'un site Web ou d'une appli mobile 5 Décembre 2011
Expression régulière MySql REGEXP pour transformer des liens Développement d'un site Web ou d'une appli mobile 26 Septembre 2011
expressions régulieres et fichier robots Débuter en référencement 27 Mai 2011
Expressions Régulières ! J'ai une question Développement d'un site Web ou d'une appli mobile 12 Avril 2011
Problème expression régulière Développement d'un site Web ou d'une appli mobile 1 Avril 2011
PHP Expression régulière : rendre clickable toutes les url d'un texte Débuter en référencement 16 Février 2011
Expression régulière URL Rewriting et .htaccess 4 Février 2011