Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
937 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer les données dans une autre page [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer les données dans une autre page [Résolu]

n°1433187
CNeo
Posté le 29-08-2006 à 16:36:12  profilanswer
 

Bonjour à tous !
 
J'ai besoin de récupérer tout le contenu d'un div placer dans une autre page c'est-à-dire que je ne veux pas seulement le texte qu'il y a dans ce div.
 
Je pourrait lire le fichier ligne par ligne jusqu'à ce que je trouve ce que je veux mais n'y a-t-il pas un moyen plus rapide ou plus simple ?
 
PS : Je sais que c'est une question con mais ne me prenez pas pour un débutant :) .
 
Merci à tous.


Message édité par CNeo le 30-08-2006 à 10:30:15
mood
Publicité
Posté le 29-08-2006 à 16:36:12  profilanswer
 

n°1433229
skeye
Posté le 29-08-2006 à 17:14:31  profilanswer
 

euh, en vrai, c'est quoi l'objectif, là?[:autobot]
 
Non parce-que je comprends pas vraiment ni l'intérêt, ni la difficulté, en fait...[:jean-guitou]
 
(...et sinon, attifs ça existe pas, en français...[:dawa])


---------------
Can't buy what I want because it's free -
n°1433232
DavidCmoi9​2
Posté le 29-08-2006 à 17:17:25  profilanswer
 

Je pense que le monsieur osuhaite utiliser cette solution pour recuperer une information qu il ne gere pas, type temperature du coin, fichier en cours de lecture sur europe 2 que sais je encore.
Suis je bon sur ce coup la CNeo ?  

n°1433247
CNeo
Posté le 29-08-2006 à 17:38:28  profilanswer
 

skeye a écrit :

euh, en vrai, c'est quoi l'objectif, là?[:autobot]
 
Non parce-que je comprends pas vraiment ni l'intérêt, ni la difficulté, en fait...[:jean-guitou]
 
(...et sinon, attifs ça existe pas, en français...[:dawa])


 
En fait je voulais juste savoir ce que vous pensez être le mieux pour récupérer le contenu d'un div sur une autre page en sachant que je ne veux pas seulement le texte comme avec DOM (si on peut aussi récupérer les balises avec DOM je suis preneur).
 
Suis-je plus clair ?

n°1433251
mIRROR
Chevreuillobolchévik
Posté le 29-08-2006 à 17:41:40  profilanswer
 

si on peut aussi récupérer les balises avec DOM je suis preneur
 
donc t as meme pas essayé avant de poser ta question ? [:petrus dei]

n°1433260
CNeo
Posté le 29-08-2006 à 17:47:02  profilanswer
 

mIRROR a écrit :

si on peut aussi récupérer les balises avec DOM je suis preneur
 
donc t as meme pas essayé avant de poser ta question ? [:petrus dei]


 
Essayer quoi ???
 
J'ai déjà récupérer le texte contenu dans un div ayant un id avec DOM seulement cela renvoit uniquement le texte or là j'ai besoin de tout le contenu soit TEXTE + BALISES ENFANTS. :o  
 
PS : ARRETEZ DE ME PRENDRE POUR UN DEBUTANT ! :fou:

Message cité 1 fois
Message édité par CNeo le 29-08-2006 à 17:47:27
n°1433275
CNeo
Posté le 29-08-2006 à 17:58:21  profilanswer
 

mIRROR a écrit :

si on peut aussi récupérer les balises avec DOM je suis preneur
 
donc t as meme pas essayé avant de poser ta question ? [:petrus dei]


 
Saches que je fais une recherche est que je réfléchi avant de créer un nouveau sujet. :o

n°1433316
DavidCmoi9​2
Posté le 29-08-2006 à 18:38:37  profilanswer
 

Enfin moi j'ai toujours mon probleme alors si ca vous tente vous qui n'etaes pas debutant ;)
http://forum.hardware.fr/hardwaref [...] 5621-1.htm

n°1433322
CNeo
Posté le 29-08-2006 à 18:51:07  profilanswer
 

Pour en revenir au sujet voilà ce que j'ai fait :
 


$found=0;
$openedFile = fopen("monfichier","r" );
while ( ! feof($openedFile) ){
 $line = fgets($openedFile, 1024);
 if($found>=1){
  if(strstr($line, '<div')){
   $found++;
  }
  if(strstr($line, '</div>')){
   $found--;
  }
  if($found>=1){
   print "$line\n";
  }
 }
 elseif(strstr($line, '<div id="corps"')){
  $found=1;
 }
}


Comme vous pouvez le voir ceci sert à lire tout ce qu'il y a entre l'ouverture du div ayant pour id corps et la fermeture de ce même div.
 
Ma question est donc connaissez-vous qqch de plus simple, de plus rapide, de plus "éthique" ... bref de mieux ?

Message cité 1 fois
Message édité par CNeo le 29-08-2006 à 19:02:14
n°1433326
CNeo
Posté le 29-08-2006 à 18:52:41  profilanswer
 

DavidCmoi92 a écrit :

Enfin moi j'ai toujours mon probleme alors si ca vous tente vous qui n'etaes pas debutant ;)
http://forum.hardware.fr/hardwaref [...] 5621-1.htm


 
Désolé mais je n'ai pas encore plongé le nez dans les sessions même si je sais ce que c'est.

mood
Publicité
Posté le 29-08-2006 à 18:52:41  profilanswer
 

n°1433334
skeye
Posté le 29-08-2006 à 19:12:22  profilanswer
 

CNeo a écrit :

PS : ARRETEZ DE ME PRENDRE POUR UN DEBUTANT ! :fou:


 

CNeo a écrit :

Désolé mais je n'ai pas encore plongé le nez dans les sessions même si je sais ce que c'est.


 
[:doc petrus]
 

DavidCmoi92 a écrit :

Enfin moi j'ai toujours mon probleme alors si ca vous tente vous qui n'etaes pas debutant ;)
http://forum.hardware.fr/hardwaref [...] 5621-1.htm


 
[:spam] [:ban]
Tu te crois où, là? :??:
 
 
 
 
Bon sinon pour le problème initial, je vois rien de particulièrement plus simple comme méthode...quel est le soucis avec ça?


---------------
Can't buy what I want because it's free -
n°1433335
anapajari
s/travail/glanding on hfr/gs;
Posté le 29-08-2006 à 19:13:45  profilanswer
 

CNeo a écrit :

Ma question est donc connaissez-vous qqch de plus simple, de plus rapide, de plus "éthique" ... bref de mieux ?


tu fais un loadHTML de ton document et derrière tu peux utiliser les fonctions DOM habituelles genre getElementById!

n°1433336
skeye
Posté le 29-08-2006 à 19:16:43  profilanswer
 

anapajari a écrit :

tu fais un loadHTML de ton document et derrière tu peux utiliser les fonctions DOM habituelles genre getElementById!


pas bête...[:dawa]
 
Par contre la solution bête et méchante est p-e moins sujette aux problèmes de documents mal formés... [:god]


---------------
Can't buy what I want because it's free -
n°1433340
anapajari
s/travail/glanding on hfr/gs;
Posté le 29-08-2006 à 19:23:09  profilanswer
 

RTFM :o

Citation :

Cette fonction analyse un document HTML contenu dans la chaîne source. Contrairement au XML, le HTML n'a pas besoin d'être bien formé pour être chargé.

n°1433346
CNeo
Posté le 29-08-2006 à 19:37:48  profilanswer
 

anapajari a écrit :

tu fais un loadHTML de ton document et derrière tu peux utiliser les fonctions DOM habituelles genre getElementById!


Daccord mais si je fais ça :


$doc = new DomDocument;
$doc->LoadHTMLFile('truc.htm');
$title = $doc->getElementById('corps')->nodeValue;


ça va m'afficher le contenu texte du div ayant pour id corps et va laisser de coté toute les balises. ;)  
 
Si tu connais un moyen d'avoir également les balises enfants alors je veux bien le connaître. :)  
 
A tu compris ?

n°1433351
anapajari
s/travail/glanding on hfr/gs;
Posté le 29-08-2006 à 19:49:34  profilanswer
 

CNeo a écrit :

Daccord mais si je fais ça :


$doc = new DomDocument;
$doc->LoadHTMLFile('truc.htm');
$title = $doc->getElementById('corps')->nodeValue;


ça va m'afficher le contenu texte du div ayant pour id corps et va laisser de coté toute les balises. ;)  
 
Si tu connais un moyen d'avoir également les balises enfants alors je veux bien le connaître. :)  
 
A tu compris ?


Code :
  1. echo($title->ownerDocument->saveXML($title));


edit: c'est dans la doc hein ...

Message cité 1 fois
Message édité par anapajari le 29-08-2006 à 19:50:01
n°1433488
rufo
Pas me confondre avec Lycos!
Posté le 30-08-2006 à 08:33:45  profilanswer
 

je sais pas si ça peut aider, mais y'a pas longtemps, j'ai eu besoin de pouvoir récupérer toutes les balises d'une page html. Pour ça, fallait faire :
document.body.getElementByTagName('*');
 
Je pense qu'en remplaçant body par l'id de la balise div désirée, ça devrait le faire...

n°1433493
anapajari
s/travail/glanding on hfr/gs;
Posté le 30-08-2006 à 08:57:47  profilanswer
 

Sauf que c'est du javascript ce que tu lui donnes là :o

n°1433504
CNeo
Posté le 30-08-2006 à 09:12:44  profilanswer
 

anapajari a écrit :

Code :
  1. echo($title->ownerDocument->saveXML($title));


edit: c'est dans la doc hein ...


 
Je vais essayer. :)

n°1433529
skeye
Posté le 30-08-2006 à 09:43:35  profilanswer
 

anapajari a écrit :

RTFM :o

Citation :

Cette fonction analyse un document HTML contenu dans la chaîne source. Contrairement au XML, le HTML n'a pas besoin d'être bien formé pour être chargé.



 
Oui, mais il est garanti nulle part qu'il va pas se vautrer comme une grosse merde...chargé ça veut pas dire qu'il aura une structure "correcte" par rapport à ce que l'auteur voulait en faire...[:joce]


---------------
Can't buy what I want because it's free -
n°1433544
CNeo
Posté le 30-08-2006 à 09:55:54  profilanswer
 

skeye a écrit :

Oui, mais il est garanti nulle part qu'il va pas se vautrer comme une grosse merde...chargé ça veut pas dire qu'il aura une structure "correcte" par rapport à ce que l'auteur voulait en faire...[:joce]


 
+1
 
Et en plus je trouve que DOM est plus compliqué :whistle: mais si quelqu'un m'apporte la preuve que le temps d'execution est réduit avec DOM alors je veux bien m'y mettre. :)

n°1433555
anapajari
s/travail/glanding on hfr/gs;
Posté le 30-08-2006 à 10:06:44  profilanswer
 

skeye a écrit :

Oui, mais il est garanti nulle part qu'il va pas se vautrer comme une grosse merde...chargé ça veut pas dire qu'il aura une structure "correcte" par rapport à ce que l'auteur voulait en faire...[:joce]


Tu noteras que l'auteur de la page lue n'est pas l'auteur de ce topic. Quoi qu'il arrive le programme de Cneo sera fonction du "travail" de quelqu'un d'autre. Donc aux moindres de changements tout risque de changer de toute façon.
 

CNeo a écrit :

+1
Et en plus je trouve que DOM est plus compliqué :whistle:


 [:roane]  
Ton truc ça tiens en 3 lignes avec dom:

Code :
  1. $doc = new DomDocument;
  2. $doc->LoadHTMLFile('truc.htm');
  3. $doc->saveXML($doc->getElementById('corps'));


Seul problème la DTD pour être sur du getElementById, mais c'est un autre problème.
 

CNeo a écrit :

mais si quelqu'un m'apporte la preuve que le temps d'execution est réduit avec DOM alors je veux bien m'y mettre. :)


Non ça doit être plus long avec DOM, par contre c'est moins compliqué à maintenir et puis si un jour ton div en question devient un p ça marche encore [:spamafote]

Message cité 1 fois
Message édité par anapajari le 30-08-2006 à 10:06:59
n°1433573
CNeo
Posté le 30-08-2006 à 10:29:23  profilanswer
 

anapajari a écrit :

Tu noteras que l'auteur de la page lue n'est pas l'auteur de ce topic. Quoi qu'il arrive le programme de Cneo sera fonction du "travail" de quelqu'un d'autre. Donc aux moindres de changements tout risque de changer de toute façon.


En fait si puisque c'est pour une admin. :)

anapajari a écrit :

Non ça doit être plus long avec DOM, par contre c'est moins compliqué à maintenir et puis si un jour ton div en question devient un p ça marche encore [:spamafote]


C'est vrai que quand on ne contrôle pas le contenu c'est mieux. :)  
 
Merci à tous pour toutes ces précisions. :jap:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Récupérer les données dans une autre page [Résolu]

 

Sujets relatifs
[Résolu] Récupérer nom COMPLET (Display name) de l'utilisateur actif[Résolu] [C#.Net] Cookies en asp.net
Probleme de lecture d'objet[RESOLU][Résolu] Listbox -> Comment vérifier qu'un élement est selectionné ?
[RESOLU]Copier tous les fichiers d'un repertoire en vb6[Resolu] Débutant swing : interface graphique dynamique
[RESOLU] Excel --> powerpointRécuperer le src d'une iframe
[RESOLU] Partager Wamp 
Plus de sujets relatifs à : Récupérer les données dans une autre page [Résolu]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR