2011-01-13 2 views
3

Je voudrais obtenir l'image principale pour un article, un peu comme Facebook fait quand vous postez un lien (mais sans le choix de la partie de l'image). Les données avec lesquelles nous devons travailler sont les pages entières HTML en tant que variable. La page & URL sera différente à chaque fois que cette fonction sera exécutée.Obtenez l'image de l'article principal avec PHP

Y a-t-il des bibliothèques ou des classes qui sont particulièrement efficaces pour obtenir le corps principal du contenu, un peu comme Instapaper qui serait utile?

+0

S'il vous plaît expliquer ce que vous entendez par « le corps principal du contenu » et « l'image principale pour un article ». Comment décidez-vous ce qui est "principal"? La première ou la plus grande image de la DIV qui prend le plus d'espace à l'écran? – rik

+0

Quand je dis le corps principal du contenu, je veux dire l'article lui-même, l'article, l'histoire de nouvelles, que. Et par l'image principale, généralement l'image qui est à côté du titre de l'article. – PaulAdamDavis

+0

duplicata possible de [Saisir intelligemment le premier paragraphe/texte de départ] (http://stackoverflow.com/questions/4659057/intelligently-grab-first-paragraph-starting-text) – Gordon

Répondre

2

Vous pouvez utiliser des classes PHP DOM pour analyser une page HTML. cela vous permettrait facilement de saisir la première image et le texte h1.

vous pouvez également obtenir plus avancé avec lui, comme faire défiler les balises p pour trouver la première balise p avec plus de X caractères, et l'utiliser pour le texte principal. ou vous pouvez récupérer les balises META et obtenir la description.

Il ya environ un million de façons différentes de faire cela, mais PHP DOM est probablement ce que vous cherchez initialement.

http://us.php.net/manual/en/book.dom.php

+0

Aussi, si la page fait partie d'un flux, vous pouvez vouloir récupérer cette information directement à partir du fichier rss xml, bien que ce code devrait être assez intelligent à faire ça correctement. – dqhendricks