CodeIgniter: A Sınıfı / Kütüphane web sayfasından meta etiketleri almak için?

5 Cevap php

Ben CodeIgniter kullanıyorum. Bunu ben kullanıyorum hangi php framework önemli değil sanırım.

Ama benim kendi sınıf eğer varsa bir kullanıcı ... herhangi oturup bir sayfa başlığı ve meta etiketleri (anahtar kelimeler, açıklamalar) almak için izin zaten yazılı olduğunu orada başka yazmadan önce.

Yapar PHP sınıfı herhangi bir tür harika olurdu.

Tüm teşekkürler

5 Cevap

Bu sınıfa bir göz olmalıdır: PHP Simple HTML DOM bu şekilde çalışır:

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>";

PHP'nin curl kütüphanesini kullanın. Bu web diğer sayfaları çekin ve dizeleri gibi onları getir, ve sonra sayfanın başlık ve meta etiketleri bulmak için düzenli ifadeler ile dizeyi ayrıştırmak yapabilirsiniz.

Sen get_meta_tags tüm meta etiketleri işistasyonunda uzak sayfa alabilirsiniz - http://ca3.php.net/get_meta_tags

Bu, sayfayı ve açıklama almak için bir sınıf vardır, onlar da get_meta_tags kullanıyorsanız - http://www.emirplicanic.com/php/get-remote-page-title-with-php.php

Eğer ihtiyacınız olan her şeyi almak için hem bit birleştirmek gerekir.

See this please. Bu sayfa meta etiketleri almak ve çok daha fazlasını yapmak için genel sınıftır. Eğer CodeIgniter kütüphanesinde bu ekleyebilirsiniz görün. Teşekkürler

DOM / XPath ile

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");
}