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 :

XPath : entrées non désirées


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club Avatar de chatofor
    Profil pro
    Inscrit en
    Août 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 59
    Points : 25
    Points
    25
    Par défaut XPath : entrées non désirées
    Bonjour, j'ai le code suivant que vous pouvez éxecuter sur votre machine si vous le souhaitez :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?php
     
    $ch = curl_init();
    $timeout = 0; // set to zero for no timeout
    curl_setopt ($ch, CURLOPT_URL, 'http://m.jeuxvideo.com/forums/42-51-61922886-1-0-1-0-once-upon-time-in-hollywood.htm');
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    curl_close($ch);
     
     
    $dom = new DOMDocument;
    libxml_use_internal_errors(true);
    $dom->loadHTML($file_contents);
     
    $xpath = new DOMXPath($dom);
    $posts = $xpath->query("//div[@class='who-post']");//$elements = $xpath->query("/html/body/div[@id='yourTagIdHere']");
    $dates = $xpath->query("//div[@class='date-post']");//$elements = $xpath->query("/html/body/div[@id='yourTagIdHere']");
    $contenus = $xpath->query("//div[@class='contenu']");//$elements = $xpath->query("/html/body/div[@id='yourTagIdHere']");
     
     
     
     
    foreach ($posts as $post) {
        $nodes = $post->childNodes;
        foreach ($nodes as $node) {
        $value = trim($node->nodeValue);
          echo $node->nodeValue;
          $tab[] = $node->nodeValue;
     
        }
     
    }
     
     
    foreach ($dates as $date) {
     
        $nodes = $date->childNodes;
        foreach ($nodes as $node) {
           echo trim($node->nodeValue);
        }
     
    }
     
    ?>
    <pre>
    <?php 
    print_r($tab);
    ?>
    </pre>
    Je ne comprends pas, quand j'affiche le contenu avec echo, tout est bon il me liste les pseudos, mais quand je les ajoute dans un tableau, il ajoute aussi des entrées vide (il doit y avoir des espaces que je ne vois pas).

    Quelqu'un peut m'aider svp ?

  2. #2
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 894
    Points : 6 648
    Points
    6 648
    Par défaut
    il suffit de regarder le code source:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div class="who-post">
                                                <a href="http://m.jeuxvideo.com/profil/thewiitcheur.html" class="bloc-pseudo-msg text-auteur text-user" target="_blank">
                                Thewiitcheur
                            </a>
                                        </div>

    Là tu les vois pas les espaces?

    Tu peux résoudre le problème juste en étant un peu plus précis dans ta requête XPath.

Discussions similaires

  1. Ouverture popUp sur toucher entrée non désirée
    Par oclone dans le forum ASP.NET
    Réponses: 4
    Dernier message: 23/12/2008, 13h55
  2. [FLASH MX2004] Toucher Enter(Entrée) non detectée par le listener
    Par Demco dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 04/05/2006, 13h19
  3. [WinForms] ComboBox avec valeur non désirée
    Par Ditch dans le forum Général Dotnet
    Réponses: 14
    Dernier message: 11/04/2006, 16h52
  4. Transparence non désirée des TPanel
    Par Manopower dans le forum Composants VCL
    Réponses: 3
    Dernier message: 07/11/2005, 09h25
  5. Suppression en cacsade non désirée
    Par sebgui dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/08/2005, 12h02

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