코드이그나이터:웹 페이지에서 메타 태그를 가져오는 데 도움이 되는 클래스/라이브러리?

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

문제

코드이그나이터를 사용하고 있습니다.나는 어떤 PHP 프레임워크를 사용하고 있는지는 중요하지 않다고 생각합니다.

하지만 내가 내 자신의 클래스를 작성하기 전에 사용자가 페이지 제목과 메타 태그(키워드, 설명)를 얻을 수 있도록 이미 작성된 또 다른 클래스가 있습니다.

이를 수행하는 모든 종류의 PHP 클래스는 훌륭할 것입니다.

모두 감사합니다

도움이 되었습니까?

해결책

이 수업을 살펴봐야 합니다: PHP 단순 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>";

다른 팁

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의 컬 라이브러리를 사용하십시오. 웹에서 다른 페이지를 가져 와서 문자열로 가져온 다음 정규식으로 문자열을 구문 분석하여 페이지의 제목과 메타 태그를 찾을 수 있습니다.

이것을 참조하십시오. 이것은 페이지 메타 태그를 얻고 더 많은 것을하는 일반적인 클래스입니다. 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