CodeIgniter: Une classe / Bibliothèque pour aider à obtenir meta tags à partir d'une page Web?

StackOverflow https://stackoverflow.com/questions/2273555

Question

J'utilise CodeIgniter. Je suppose que peu importe quel cadre php j'utilise.

Mais avant d'écrire ma propre classe est-il un autre qui a déjà été écrit qui permet à un utilisateur d'obtenir la page titre et les balises meta (mots-clés, descriptions) de sit ... tout s'ils en ont.

Toute sorte de classe PHP qui ne ce serait grand.

Merci à tous

Était-ce utile?

La solution

Vous devriez jeter un oeil à cette classe: PHP simple HTML DOM il fonctionne ainsi:

include('simple_html_dom.php');
$html = file_get_html('http://www.codeigniter.com/');

echo $html->find('title', 0)->innertext; // get <title>

echo "<pre>";
foreach($html->find('meta') as $element)
       echo $element->name . " : " . $element->content  . '<br>'; //prints every META tag

echo "</pre>";

Autres conseils

Vous pouvez obtenir toute la page distante balises meta froma avec get_meta_tags - http://ca3.php.net/ get_meta_tags

Cette page a une classe pour obtenir la page et la description, ils utilisent également get_meta_tags - http://www.emirplicanic.com/php/get-remote-page-title-with-php.php

Vous devriez être en mesure de combiner les bits à la fois pour obtenir tout ce dont vous avez besoin.

bibliothèque curl utiliser PHP. Il peut tirer d'autres pages du Web et de les chercher comme des chaînes, puis vous pouvez analyser la chaîne avec des expressions régulières pour trouver le titre de la page et les balises meta.

Voir ce s'il vous plaît. Ceci est classe générique pour obtenir la page balises meta et faire beaucoup plus. Voyez si vous pouvez ajouter ceci CodeIgniter bibliothèque. Merci

Avec DOM / XPath

libxml_use_internal_errors(true);
$c = file_get_contents("http://url/here");
$d = new DomDocument();
$d->loadHTML($c);
$xp = new domxpath($d);
foreach ($xp->query("//meta[@name='keywords']") as $el) {
    echo $el->getAttribute("content");
}
foreach ($xp->query("//meta[@name='description']") as $el) {
    echo $el->getAttribute("content");
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top