logo Homepage
+  NewbieContest
|-+  Programmation» Langages Web» [PHP] Récuperer une partie d'une page
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [PHP] Récuperer une partie d'une page  (Lu 4812 fois)
4n0n1m3

Profil challenge

Classement : 3054/54283

Néophyte
*
Hors ligne Hors ligne
Messages: 31


Voir le profil
« 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
 
Journalisée

[signature="4n0n1m3"][/signature]
4n0n1m3

Profil challenge

Classement : 3054/54283

Néophyte
*
Hors ligne Hors ligne
Messages: 31


Voir le profil
« #1 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
Journalisée

[signature="4n0n1m3"][/signature]
the lsd
Administrateur

Profil challenge

Classement : 190/54283

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 3096

poulping for fun & profit


Voir le profil WWW
« #2 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
Journalisée

Newbie Contest Staff :
The lsd - Th3_l5D (IRC)
Statut :
Administrateur
Citation :
Cartésien désabusé : je pense, donc je suis, mais je m'en fous !
_o_
Relecteur

Profil challenge

Classement : 42/54283

Membre Héroïque
*
Hors ligne Hors ligne
Messages: 1258


Voir le profil
« #3 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.
Journalisée

Les épreuves de hack de NC sont trop faciles ? Et pourtant ! Bienvenue dans la vraie vie : http://thedailywtf.com/Articles/So-You-Hacked-Our-Site!.aspx
Chilly
Relecteur

Profil challenge

Classement : 266/54283

Membre Senior
*
Hors ligne Hors ligne
Messages: 307


Voir le profil
« #4 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..
Journalisée

Non au langage SMS !!! http://sms.informatiquefrance.com
4n0n1m3

Profil challenge

Classement : 3054/54283

Néophyte
*
Hors ligne Hors ligne
Messages: 31


Voir le profil
« #5 le: 27 Décembre 2007 à 17:09:57 »

nickel avec la fonction regex j'ai trouvé mon bonheur merci beaucoup de votre aide !
Journalisée

[signature="4n0n1m3"][/signature]
White Angels
Profil challenge

Classement : 16269/54283

Néophyte
*
Hors ligne Hors ligne
Messages: 5


Voir le profil
« #6 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>
Journalisée
zours

Profil challenge

Classement : 552/54283

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 811


Voir le profil
« #7 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 ...
Journalisée
White Angels
Profil challenge

Classement : 16269/54283

Néophyte
*
Hors ligne Hors ligne
Messages: 5


Voir le profil
« #8 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é !
Journalisée
Pages: [1]
  Imprimer  
 
Aller à: