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 :

simple html dom : récupérer valeur attribut title


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 15
    Points
    15
    Par défaut simple html dom : récupérer valeur attribut title
    Bonsoir à tous,

    Voilà, je souhaite parser le contenu suivant, et je galère depuis plusieurs jours.
    J'ai retourné la doc dans tous les sens et regarder des dizaines d'exemple sur le net, et impossible de réussir à sortir ce que je veux.

    Voilà le contenu à parser :

    Code html : 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
    <div class="user_info">
    	<p class="name">
    		<span class=" female">
    			<img src="https://aaaaaaa.com/medium.jpg"  width="120" height="120" class="userpic">
    			<a data-ga="search results" href="https://aaaaaaa.com/?r=28KS1&amp;p=1" id="uid" class="c_name app"   rel="profile-view" title="zzzzz">
    				<span class="upts_f">
    					<i class="upts_f_bg">
    					</i>
    					<span class="upts_f_tx">
    					2</span>
    				</span>
    				<span class="c_name_tx">
    				xxxxxxxxxx</span>
    			</a>
    		</span>
    		yyyyyyyyyyyyyyyyyyyy
    		<a class="onst hidden" title="zzzzzzzzzzzzzzzzzzzzzzz">
    		</a>
    	</p>
    	<p>
    	wwwwwwwwwwwwwwwwwwww</p>
    </div>

    Ce que je veux récupérer c'est le contenu "zzzzzzzzzzzzzzzzzzzzzzz"
    Je ne comprends vraiment pas comment récupérer la valeur de cet attribut title...

    Est-ce possible ? Si oui, comment ?

    Merci de votre aide,
    Totof

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    On peut voir ce que tu as essayé de faire ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    J'ai effectivement pour habitude de toujours poster les essais que j'ai pu réaliser, mais là, j'en ai fait tellement, que je ne sais même plus quoi mettre, sans compter que j'ai effacé au fur et à mesure de mes erreurs...

    J'ai du essayer au moins une bonne trentaine de syntaxes différente.

    la dernière en date c'est ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $e = $html->find('a',0)->getAttribute('title');
    echo $e;
    (je sais bien que ça ne donnera pas ce que j'attends, mais je pensais avoir au moins un résultat dans la page ou bien un array).

    Sinon, j'ai du faire ça aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ret = $html->find('.user_info',0)->find('[title]')->attribute;
    echo $ret ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ret = $html->find('.user_info',0)->find('a[title]')->attribute;
    echo $ret ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ret = $html->find('.user_info',0)->find('a[title]')->value;
    echo $ret ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ret = $html->find('.user_info',0)->find('a')->title;
    echo $ret ;
    Et toutes les combinaisons possibles à partir de ça, et d'autres encore, mais je ne vois pas l'intérêt de poster ça, vu que ça ne fonctionne pas du tout...
    Je sais que d'habitude il est pratique d'avoir le cheminement d'une personne pour pouvoir apporter une réponse, mais là, c'est (à mon avis) juste un problème de syntaxe... Ou peut-être est-ce impossible...

    Totof

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Ca sort d'où ta syntaxe ?
    Tu ne serais pas en train de confondre jQuery et PHP par hasard ?
    Quelle classe utilises-tu ? Certainement pas DOM en tout cas...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    Salut,

    Merci de ta réponse et d'avoir corrigé mon message pour le code. Désolé, j'ai oublié sur le moment !
    J'avais effectivement aussi oublié de préciser la classe que j'utilisais : c'est "Simple HTML DOM parser". Mais pas si "simple" que ça finalement !

    Je devrais me tourner vers une autre classe d'après toi ?

    Merci encore de ton aide,
    Christophe

    PS : je ne connais pas jQuery (enfin que de nom), mais effectivement j'ai sans doute mélangé des trucs... En fait à force de chercher des exemples et de ne pas réussir avec simple html dom parser, j'ai dû essayer des trucs qui venaient d'autres classes sans m'en rendre compte.

  6. #6
    Membre à l'essai
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 15
    Points
    15
    Par défaut
    OK, solutionné par l'utilisation de la classe DOM plutôt que "Simple HTML DOM parser".

    La syntaxe est beaucoup plus compliquée, mais j'ai fini par trouver, maladroitement sans doute (le code ne doit pas être exempt de reproche), le moyen de récupérer ce que je veux.

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

Discussions similaires

  1. [DOM] Récupérer valeur dans un tableau html
    Par ViRouF dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 08/10/2008, 18h48
  2. [DOM] Récupérer les attributs d'une classe CSS ?
    Par titoumimi dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 10/07/2007, 15h33
  3. Réponses: 2
    Dernier message: 06/07/2007, 11h59
  4. [html:link] récupérer valeur pour paramètre
    Par delph1983 dans le forum Struts 1
    Réponses: 13
    Dernier message: 08/06/2007, 15h23
  5. [html][xsl]Problème valeur attribut html
    Par beho dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 16/04/2005, 14h37

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