CodeIgniter: A-Klasse / Library zu Hilfe bekommen Meta-Tags von einer Webseite?
-
20-09-2019 - |
Frage
Ich bin mit codeigniter. Ich denke, es spielt keine Rolle, welche PHP-Framework verwende ich.
Aber bevor ich meine eigene Klasse schreiben, ist es eine andere, die bereits geschrieben wurde, die einem Benutzer ermöglicht, den Seitentitel und Meta-Tags (Schlüsselwörter, Beschreibungen) jeder sitzen zu bekommen ... wenn sie welche haben.
Jede Art von PHP-Klasse, die nicht so groß sein würde.
Dank all
Lösung
Sie sollten einen Blick auf diese Klasse haben: PHP einfache HTML-DOM es so funktioniert:
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>";
Andere Tipps
Sie können alle Tags froma Remote-Seite mit get_meta_tags die Meta bekommen - http://ca3.php.net/ get_meta_tags
Diese Seite hat eine Klasse, um die Seite und Beschreibung zu erhalten, die sie verwenden get_meta_tags auch - http://www.emirplicanic.com/php/get-remote-page-title-with-php.php
Sie sollten fähig sein, Bits von beiden zu kombinieren, alles zu bekommen, die Sie benötigen.
Mit dem PHP-Curl-Bibliothek. Es kann auch andere Seiten aus dem Netz ziehen und sie als Strings holen, und dann können Sie die Zeichenfolge mit regulären Ausdrücken analysieren, um den Titel der Seite und Meta-Tags zu finden.
Sehen Sie diese bitte. Diese generische Klasse Seite Meta-Tags zu erhalten und tun mehr viel. Sehen Sie, wenn Sie diese in codeigniter Bibliothek hinzufügen können. Dank
Mit 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");
}