Aller au contenu

inclure "seulement une partie de page"


alexsp112

Sujets conseillés

Bonsoir à tous les Webmasteurs

j'ai une petite question simple en apparence mais telment compliqué au fond... :wacko:

Sur le site de la fédération de handball il y a des pages de classements des équipes (disons équipe A, B, C pour simplifié) et donc chaque semaines je recopie le classement de chaque équipes (A, B, C) sur mon site. Etant très fainéant :whistling: et surtout en ayant marre de recopier des tableaux semaines après semaines, je me demande si par hazard il n'y aurait pas moyen d'inclure dans mes pages juste le tableau de classement du site de la fédération

Par exemple pour le championnat séniors Garçons ( lien classement : http://www.ff-handball.org/ffhb/html/les-c...=Poule%20unique ) et ma page ou je veux inclure juste le tableau : http://www.feurshandball.fr/seniorsgar%E7onscl.html

si ce n'est pas possible ou alors si ca l'est mais dans un autre language dites-moi le même si perso je vois que le PHP

Merci d'avance...

Lien vers le commentaire
Partager sur d’autres sites

bonjour

J'ai essayé vos deux solutions mais je ne n'arrive pas comprendre comment elles fonctionnent ( faut dire que mes connaissance sont assez limitées )

Si vous avez un tuto ( en francais de préférence ^^) ou 2-3 explications ca serait cool

Merci !

a+

Lien vers le commentaire
Partager sur d’autres sites

A oui j'allais oublier de vous demander (vous moquez pas si je dit un truc idiot)

C'est pas possible de faire un code en PHP du style :

<?php

-- Iclude -- lien vers classements de la fédé seulement ligne x a y (donc les lignes correspondant au tableau)

?>

c'est schématique bien entendu mais php permet pas de faire ça ?

Lien vers le commentaire
Partager sur d’autres sites

c'est schématique bien entendu mais php permet pas de faire ça ?

Non, on ne peut pas ;-(

En plus ce serait peu fiable, parce que si le site change un peu le format de sa page, ton site est tout perdu...

Si tu ne veux/peux pas utiliser cURL.il faut se tourner vers la fonction fsockopen().

L'exemple 1727 de cette page : http://fr3.php.net/manual/fr/function.fsockopen.php

est un bon début, il faut ensuite analyser le contenu retourné par fgets, et chercher son tableau.

M

Lien vers le commentaire
Partager sur d’autres sites

<?php

-- Iclude -- lien vers classements de la fédé seulement ligne x a y (donc les lignes correspondant au tableau)

?>

Si le code affiche le tableau et qu'il est sur le même site, cela ne pose aucun problème.

Sinon il faut que le code PHP récupère la page, extraie les informations, pas simple. Peut-être existe-t'il un script qui puisse le faire? Voir hotscripts.com, needscript.com etc...

Modifié par xunil
Lien vers le commentaire
Partager sur d’autres sites

Tu peux utiliser la commande fopen(); pour ouvrir la page distante et fget() pour recuperer le code source que tu peux ensuite reintregrer directement dans ta page ou le retravailler et l'adapter à ton gout avec php.

Lien vers le commentaire
Partager sur d’autres sites

Ce n'est malheureusement pas si simple :

Il faut tout d'abord lire le fichier en entier, puis isoler le tableau avec une expression régulière.

Dans l'idéal, il faudrait aussi mettre le résultat en cache, pour ne pas avoir à aller le chercher à chaque chargement de la page.

Lien vers le commentaire
Partager sur d’autres sites

Je suis un peu désœuvré ce soir, je viens de te faire un petit script.

<?php
$file = 'tableau.txt';
$page = 'http://www.ff-handball.org/ffhb/html/les-championnats/lesresultats.php?structure=1642000&saison=2007%20-%202008&competition=Championnat%20D%E9partemental%20Masculin&phase=Excellence%20departemental%20masculin&groupe=Poule%20unique';
$temps = 7; // Temps en jours avant de modifier le fichier en cache
$regex = "|<table BORDER='0' CELLSPACING='0' CELLPADDING='2' WIDTH='100 %'>(.*?)</table>|s";

if(!file_exists($file) || filemtime($file) <= strtotime("-$temps days")) { // S'il n'existe pas, on crée le fichier
$data = file_get_contents($page);
preg_match($regex, $data, $matches);
$flux = fopen($file, 'w+');
fwrite($flux, $matches[0]);
fclose($flux);
}

$tableau = file_get_contents($file);
echo $tableau;
?>

Il te suffit de l'enregistrer avec l'extension .php, puis de l'appeler dans une de tes pages par la commande

<?php include('tableau.php'); ?>

Pour éviter de faire un appel à chaque fois sur la page distante, le résultat est enregistré dans un fichier texte.

Par défaut, le fichier texte est mis à jour toutes les semaines, mais tu peux modifier la variable $temps pour que ce soit plus ou moins fréquent.

Il faut aussi prendre en compte qu'un changement de la page ciblée, invalidera automatiquement le code.

Lien vers le commentaire
Partager sur d’autres sites

Hop,

Captain : et moi qui croyais que le forum n'était pas un endroit pour se décharger de son boulot sur les autres... :P

Je serai alexsp, je t'enverrai une boite de chocolats !

M

Lien vers le commentaire
Partager sur d’autres sites

:euro: je suis pas Crézus moi !

Plus sérieusement merci (avec un grand M) à toi captain_torche et tous en général. J'ai découvert plein de truc (pas toujours concluant mais je tenterais quand même de faire fonctionner tout ça...)

J'abuse de vous encore un chouilla... Comme j'ai plusieurs équipes j'ai plusieurs tableaux différent à insérer. Dans ton code captain_torche il faut que je modifie le nom du fichier .txt, l'URL de la page et c'est tout ou j'ai oublier un truc ?

Modifié par alexsp112
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

Salut Captain Torche,

Ma question est légèrement différente. J'aimerais inclure uniquement une partie de page (titres par ex.) dans une balise spécifique.

En fait, un résumé de news ou d'agenda.

Merci d'avance pour ton aide.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...