Page 1 sur 1

Tutoriel file_get_contents et autres méthodes pour récupérer

Posté : 11 août 2008, 19:48
par jycs
Salut,

Trouvant l'idée intéressante, je compte apprendre à récupérer des contenus de page, depuis une autre page. Pour commencer je voudrais arriver à changer le template d'un de mes sites, j'ai trouvé deux méthodes pour ça :
$url = 'http://www.x.com';
$str=file_get_contents($url);
print "$str\n";
+ du regex, mais y'a peut être un peu plus simple ?

La seconde méthode que j'ai trouvé, je ne me souvient plus du nom. Ça place chaque élément dans des balises H1 H2 H3... J'ai pas eu le temps de tester, d'autant plus que je retrouve plus ce qui fait ça. Mais j'imagine que c'est déjà une excellente piste pour changer un template ? Virer des trucs, changer le css...

Peut être avez vous de meilleures solutions ?

Merci.

Posté : 11 août 2008, 23:59
par Hywan
Hey :),

Je n'ai pas tout à fait compris ce que tu voulais faire mais je tente une réponse.
Il existe plusieurs moyens de communiquer avec un autre serveur. Certes tu as file_get_contents mais c'est un dialogue très pauvre : « donne moi ça », fin. Tu as d'autres techniques qui te permettent de poser des questions, et d'obtenir des réponses, afin de soumettre des requêtes ; par exemple : XML-RPC (ou SOAP, son « équivalent » Microsoft …).

Tout dépend du contexte dans lequel tu te places, les utilisateurs que tu cibles, etc. Pour des templates, une simple ligne de code ne suffit pas. Il faut donner des CSS, des Javascript, de l'HTML, etc. Ou alors, tu fournis un simple XML que l'utilisateur va analyser et transformer via XSLT par exemple. On revient à ma question : quel est ton public ?

Tu as déjà quelques pistes de réflexion.

Posté : 12 août 2008, 06:30
par Invité
Ok,

Par exemple, je veux récupérer tout ce qu'il y a sur la page http://www.y.com et changer le css. Je demande comment je peux m'y prendre.

Merci.

Posté : 12 août 2008, 10:07
par Hywan
Bah dans un cas aussi trivial, j'utiliserais file_get_contents(), puis avec SimpleXml, je parserais le document pour seulement lire la balise <body>. Libre à l'utilisateur de mettre le CSS de son choix …