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 :

Expression régulière qui ne fonctionne pas


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 83
    Points : 69
    Points
    69
    Par défaut Expression régulière qui ne fonctionne pas
    Bonjour tous le monde, j'essaye d'extraire une partie d'une recherche Google, dans mon cas "qui a tué kennedy ?"
    https://www.google.fr/search?q=qui+a+tu%C3%A9+kennedy Qui renvoie la réponse à la question en haut de page.
    Nom : 07d2528961864947a1db8985177a53b0.png
Affichages : 70
Taille : 34,6 Ko

    J'essaye de récupérer directement la réponse :
    "Le 22 novembre 1963, John Fitzgerald Kennedy, président des Etats-Unis, est assassiné en plein centre de Dallas, au Texas. Depuis cinquante ans, la version officielle reste la même, JFK aurait été tué par Lee Harvey Oswald, un jeune homme de vingt-quatre ans, qui a éte ensuite victime d'un accès de folie de Jack Ruby."

    J'ai télécharger la page et voici le morceau de code qui m'intéresse :
    ( [intéréssant] , (pas intéressant) )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ( <div class="_o0d"> )    [  <div class="_sPg">Le 22 novembre 1963, John Fitzgerald <b>Kennedy</b>, président des Etats-Unis, est assassiné en plein centre de Dallas, au Texas. Depuis cinquante ans, la version officielle reste la même, <b>JFK</b> aurait été <b>tué</b> par Lee Harvey Oswald, un jeune homme de vingt-quatre ans, <b>qui</b> a éte ensuite victime d'un accès de folie de Jack Ruby.</div>   ]    ( </div><div class="_dSg"><h3 class="r"><a href="/url?q=http://www.inexplique-endebat.com/2015/06/jfk-autopsie-d-un-complot.html&amp;sa=U&amp;ved=0ahUKE ... )
    J'ai mis entre crochet la partie que je veut récupérer et entre parenthèse la partie qui ne m'intéresse pas.
    Mon script récupère la page de la recherche et est censé stocker dans ma variable $trouve tout ce qui se trouve entre <div class="_sPg"> et </div>.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $inputRecherche = "qui a tué kennedy";
    $adresse = "https://www.google.fr/search?q=".$inputRecherche ;
    $adresse = str_replace(" ", "+", $adresse);
    echo "Adresse : ".$adresse."<br>";
     
    $page = file_get_contents($adresse);
    #echo $page;        #La page de base
     
    $aRechercher = '#<div class="_sPg">(.*)</div>#'; #nouveau 
    preg_match_all($aRechercher, $page, $trouve);
    print_r($trouve);              #Tableau en entier
    Le problème c'est qu'il ne s'arrête pas à </div> mais va au delà alors qu'il ne le devrai pas.
    Voici le résultat renvoyer :
    (j'ai surligné les 2 parties)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Le 22 novembre 1963, John Fitzgerald <b>Kennedy</b>, président des Etats-Unis, est assassiné en plein centre de Dallas, au Texas. Depuis cinquante ans, la version officielle reste la même, <b>JFK</b> aurait été <b>tué</b> par Lee Harvey Oswald, un jeune homme de vingt-quatre ans, <b>qui</b> a éte ensuite victime d&#39;un accès de folie de Jack Ruby.</div></div><div class="_dSg"><h3 class="r"><a href="/url?q=http://www.inexplique-endebat.com/2015/06/jfk-autopsie-d-un-complot.html&amp;sa=U&amp;ved=0ahUKEwiEytG5nIjOAhXBVxQKHZEVDjQQFggYMAE&amp;usg=AFQjCNHC1nSNdsgup8iHMTI7X5KF6q9Kug"><b>JFK</b>, AUTOPSIE D&#39;UN COMPLOT - INEXPLIQUÉ EN DÉBAT</a></h3><div class="s"><div class="kv" style="margin-bottom:2px"><cite>www.inexplique-endebat.com/2015/06/<b>jfk</b>-autopsie-d-un-complot.html</cite></div><span class="st"></span><br></div></div><div class="_o0d"></div></div></div><div class="g"></div><div class="g"><h3 class="r"><a href="/url?q=http://www.lepoint.fr/monde/qui-a-tue-john-fitzgerald-kennedy-20-11-2013-1758870_24.php&amp;sa=U&amp;ved=0ahUKEwiEytG5nIjOAhXBVxQKHZEVDjQQFggcMAI&amp;usg=AFQjCNFllLBcNawiCeqmoDx-PG18DLh3xw"><b>Qui a tué</b> John Fitzgerald <b>Kennedy</b> ? - Le Point</a></h3><div class="s"><div class="kv" style="margin-bottom:2px"><cite>www.lepoint.fr/.../<b>qui-a-tue</b>-john-fitzgerald-<b>kennedy</b>-20-11-2013-1758870_ 24.php</cite><div class="_nBb"><div style="display:inline" onclick="google.sham(this);" aria-expanded="false" aria-haspopup="true" tabindex="0" data-ved="0ahUKEwiEytG5nIjOAhXBVxQKHZEVDjQQ7B0IHTAC"><span class="_O0"></span></div><div style="display:none" class="am-dropdown-menu" role="menu" tabindex="-1"><ul><li class="_Ykb"><a class="_Zkb" href="/url?q=http://webcache.googleusercontent.com/search%3Fq%3Dcache:WE3GM1B3sGUJ:http://www.lepoint.fr/monde/qui-a-tue-john-fitzgerald-kennedy-20-11-2013-1758870_24.php%252Bqui%2Ba%2Btu%25C3%25A9%2Bkennedy%26hl%3Dfr%26ct%3Dclnk&amp;sa=U&amp;ved=0ahUKEwiEytG5nIjOAhXBVxQKHZEVDjQQIAgfMAI&amp;usg=AFQjCNFcaovxmbUVyqS_bkBMVYi49m9jDA">En cache</a></li><li class="_Ykb"><a class="_Zkb" href="/search?ie=UTF-8&amp;q=related:www.lepoint.fr/monde/qui-a-tue-john-fitzgerald-kennedy-20-11-2013-1758870_24.php+qui+a+tu%C3%A9+kennedy&amp;tbo=1&amp;sa=X&amp;ved=0ahUKEwiEytG5nIjOAhXBVxQKHZEVDjQQHwggMAI">Pages similaires</a></li></ul></div></div></div><span class="st">20 nov. 2013 <b>...
    Nom : 281c4af31387412b80fbbdb96974d464.png
Affichages : 69
Taille : 122,4 Ko


    Merci de votre aide et bonne journée

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjopur,

    pour la nème fois : on n'utilise pas de regex pour parser un document !

    Voir : DOMDocument + "php parser dom"

Discussions similaires

  1. [AC-2007] Expressions régulières qui ne fonctionnent pas comme je veux!
    Par Titom1978 dans le forum VBA Access
    Réponses: 3
    Dernier message: 16/12/2015, 11h37
  2. Réponses: 1
    Dernier message: 05/08/2015, 08h59
  3. Expression régulière qui ne marche pas ?
    Par [ZiP] dans le forum Débuter
    Réponses: 4
    Dernier message: 29/06/2010, 14h42
  4. [Regex] Expression régulière qui ne passe pas avec \.
    Par jsd03 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 10/03/2009, 16h49
  5. [RegEx] Expression régulière qui ne fonctionne pas ?
    Par MaTHieU_ dans le forum Langage
    Réponses: 5
    Dernier message: 23/07/2007, 14h43

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