Codeigniter: فئة/مكتبة للمساعدة في الحصول على علامات التعريف من صفحة ويب؟

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

سؤال

أنا أستخدم codeigniter. أعتقد أنه لا يهم أي إطار PHP الذي أستخدمه.

ولكن قبل أن أكتب صفي الخاص ، هناك آخر تم كتابته بالفعل يسمح للمستخدم بالحصول على عنوان الصفحة وعلامات التعريف (الكلمات الرئيسية ، أوصاف) لأي جلسة ... إذا كان لديهم أي شيء.

أي نوع من فئة PHP التي تفعل ذلك سيكون رائعا.

شكرا لكم جميعا

هل كانت مفيدة؟

المحلول

يجب أن تلقي نظرة على هذا الفصل: PHP Simple HTML DOM يعمل بهذه الطريقة:

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

نصائح أخرى

يمكنك الحصول على جميع علامات META Froma Remote Page مع Get_meta_tags - http://ca3.php.net/get_meta_tags

تحتوي هذه الصفحة على فصل دراسي للحصول على الصفحة والوصف ، فهي تستخدم أيضًا get_meta_tags - http://www.emirplicanic.com/php/get-remote-page-title-with-php.php

يجب أن تكون قادرًا على الجمع بين البتات من كليهما للحصول على كل ما تحتاجه.

استخدم مكتبة PHP's Curl. يمكنه سحب صفحات أخرى من الويب وجلبها كأسلاك ، ثم يمكنك تحليل السلسلة مع تعبيرات منتظمة للعثور على عنوان الصفحة وعلامات التعريف.

انظر هذا من فضلك. هذه فئة عامة للحصول على علامات meta صفحة والقيام بالكثير. معرفة ما إذا كان يمكنك إضافة هذا في مكتبة Codeigniter. شكرًا

مع 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");
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top