NewbieContest

Programmation => Langages Web => Discussion démarrée par: 4n0n1m3 le 26 Décembre 2007 à 21:58:14



Titre: [PHP] Récuperer une partie d'une page
Posté par: 4n0n1m3 le 26 Décembre 2007 à 21:58:14
Bonjour,
j'aurais besoin d'aide en PHP, j'explique : j'aimerais que ma page php affiche une partie d'une page externe.
donc sur la page externe j'aimerais récupérer juste le contenu d'un <div> qui fais une cinquentaine de lignes. Quelles fonctions php je pourrais utiliser ? est ce que quelqu'un pourrais me montrer un petit exemple ? merci beaucoup de votre aide
 =D


Titre: Re : [PHP] Récuperer une partie d'une page
Posté par: 4n0n1m3 le 27 Décembre 2007 à 14:19:56
j'ai ma petite idée
avec fopen et fgets j'affiche la page ligne par ligne
mais bien sur, ça m'affiche toute la page donc pour récupérer ce que je veux (le contenu d'un <div>)
j'ai pensé à : si <div name="..."> est dans la $ligne alors on commence à récupérer.
si la ligne contient </div> on arrête.

j'ai cherché dans la liste des conditions mais il n'existe pas de if (... ISIN $ligne) pour savoir si la variable $ligne contient un texte
comment je pourrais faire ?
merci beaucoup


Titre: Re : [PHP] Récuperer une partie d'une page
Posté par: the lsd le 27 Décembre 2007 à 14:46:30
regex, ou sinon il y a des fonctions sur les strings (je me souviens jamais des noms vu qu'ils se ressemblent, mais une recherche google fait l'affaire)

Enjoy

The lsd


Titre: Re : [PHP] Récuperer une partie d'une page
Posté par: _o_ le 27 Décembre 2007 à 15:19:29
C'est toujours casse-gueule de parser un document XML à coup de regexp ou de recherche de chaînes. Non, le mieux est d'utiliser un parser xml. Ça doit bien exister en php.


Titre: Re : [PHP] Récuperer une partie d'une page
Posté par: Chilly le 27 Décembre 2007 à 17:08:17
Encore faut-il avoir un document valide XML pour le parser avec un outil adapté au XML..


Titre: Re : [PHP] Récuperer une partie d'une page
Posté par: 4n0n1m3 le 27 Décembre 2007 à 17:09:57
nickel avec la fonction regex j'ai trouvé mon bonheur :) merci beaucoup de votre aide !


Titre: Re : [PHP] Récuperer une partie d'une page
Posté par: White Angels le 19 Juillet 2008 à 10:18:26
Si tu veux ouvrire une page html plutôt importante je te conseille la fonction fopen();  si la page es plus petite file_get_contents(); devrais amplement suffire.

Ensuite avec un coup de regex tu récupère le texte contenue entre <div> & </div>


Titre: Re : Re : [PHP] Récuperer une partie d'une page
Posté par: zours le 20 Juillet 2008 à 13:14:39
Si tu veux ouvrire une page html plutôt importante je te conseille la fonction fopen();  si la page es plus petite file_get_contents(); devrais amplement suffire.

C'est idiot de dire ça. Comme en témoigne la doc de PHP (qu'il faut tout de même lire avant de lancer des affirmations à l'emporte-pièce comme ça), file_get_contents repose sur fopen. C'est juste une fonction de plus haut niveau, pour qu'on n'aie pas à s'embêter.

Et c'est même carrément l'inverse de ce que tu dis, puisque "file_get_contents() is the preferred way to read the contents of a file into a string. It will use memory mapping techniques if supported by your OS to enhance performance". Sachant que ça, c'est valable uniquement pour des fichiers locaux. Si c'est pour ouvrir des pages web distantes, là, fopen=file_get_contents...

Lisez les docs avant de dire n'importe quoi :rolleyes:...


Titre: Re : [PHP] Récuperer une partie d'une page
Posté par: White Angels le 21 Juillet 2008 à 16:16:41
Ce n'es pas idiot.

Lorsque j'ai coder un parser j'utilisais file_get_contents et celon les pages je n'arrivais pas à les "charger" entierement.
Alors que avec fopen() il n'y avais aucun soucis.

Après c'est peut-être le hasard, je peut très bien me trompé !