2010-02-16 5 views
2

codeigniter를 사용하고 있습니다. 나는 내가 사용하고있는 PHP 프레임 워크가 중요하지 않다고 생각한다.CodeIgniter : 웹 페이지에서 메타 태그를 가져 오는 데 도움이되는 클래스/라이브러리?

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

그런 종류의 PHP 클래스는 훌륭합니다.

고마워요.

답변

4

당신은이 클래스를 살펴이 있어야합니다 PHP Simple HTML DOM 그것을 이런 식으로 작동합니다,

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

나는 이것에 대해 알고 있지만 그것을 잊어을 심지어했던 codeigniter를 검색하고 사용자 정의 된 버전을 찾았습니다. http://www.thephpx.com/2009/10/25/php-simple-html-dom-parser-codeigniter-integration/ – Abs

1

PHP의 컬 라이브러리를 사용하십시오. 웹에서 다른 페이지를 가져 와서 문자열로 가져올 수 있으며 정규식으로 문자열을 구문 분석하여 페이지의 제목과 메타 태그를 찾을 수 있습니다.

1

See this please. 이것은 페이지 메타 태그를 얻는 데 더 많은 일을하는 일반적인 클래스입니다. codeigniter 라이브러리에 이것을 추가 할 수 있는지 확인하십시오. 감사합니다

1

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