Récupérer ou générer extrait de pages web distantes

Petit nouveau ! | 1 Messages

03 févr. 2014, 19:40

Bonjour tout le monde

Voilà je prépare un petit projet perso (qui sera partagé quand il sera, au moins, beau a regarder ^^)

Je souhaiterais savoir comment récupérer un extrait de page web (page aléatoire entré par l'usager), manière aux publications sur facebook : on rentre une url et le script sort un texte d'une longueur donnée (disons par exemple 300 caractères) correspondant je pense au premier paragraphe du corps de la page (mais ce n'est pas forcément un paragraphe ... ce peux très bien être dans une cellule de tableau, selon comment la page a était codé)

Sur facebook, tu rentre une url, il te sort un extrait de la page (avec une image) et hop tu publie; l'image ce serait cool aussi, mais je vais y aller petit a petit hein!

En faite je suis entrain de me faire un gestionnaire de marques-pages/favoris, et je voudrais que cela affiche un résumé des pages indexés

J'ai essayé avec ça :

$contenuepage = file_get_contents($adresse);
preg_match_all("#<body (.*?)>(.*?)</body>#is", $contenuepage,$page);
$extrait = strip_tags($page[0][0]);
$extrait = trim(substr($extrait, 0, 300));


mais cela me sort toutes les balises et les javascripts ...
étant donné que la structure des pages m'est inconnu, que je ne sais pas ce qu'il y a autour des balises que je voudrais récupérer, sans être même sur si ce que je cherche est contenu dans un <p>, dans un <div>, ...

Il n'existerait pas de manière plus simple ?

comment je dois faire ??


Merci de votre attention

Pierre-Emm

ViPHP
xTG
ViPHP | 7331 Messages

03 févr. 2014, 19:56

En fait il est plus simple de prendre une image... x)
Facedebouc utilise un système qui scan la page à la recherche des éléments les plus communément utilisés.
Par exemple un div avec une class ou un id nommé content.
Et en accumulant les règles pour gérer un maximum de cas possibles tu peux ainsi cadrer le système à la majorité des pages.