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

War es hilfreich?

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");
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top