如何使用PHP Simple HTML DOM Parser提取頁面的title
和meta description
?如何使用PHP簡單HTML DOM解析器提取標題和元描述?
我只需要頁面的標題和純文本中的關鍵字。
如何使用PHP Simple HTML DOM Parser提取頁面的title
和meta description
?如何使用PHP簡單HTML DOM解析器提取標題和元描述?
我只需要頁面的標題和純文本中的關鍵字。
我剛接手一看HTML DOM解析器,請嘗試:
$html = new simple_html_dom();
$html->load_file('xxx'); //put url or filename in place of xxx
$title = $html->find('title');
echo $title->plaintext;
$descr = $html->find('meta[description]');
echo $descr->plaintext;
$html = new simple_html_dom();
$html->load_file('xxx');
//put url or filename in place of xxx
$title = array_shift($html->find('title'))->innertext;
echo $title;
$descr = array_shift($html->find("meta[name='description']"))->content;
echo $descr;
您是否測試了此代碼? – 2012-09-24 18:58:46
是的!測試了這個代碼。 [看myblog](http:// softuses。com/how-to-extract-title-and-meta-description-using-php-simple-html-dom-parser) – liuqing 2012-09-25 06:44:15
我使用了這段代碼,它在提取標題時起作用。謝謝 – 2012-12-20 17:27:41
$html = new simple_html_dom();
$html->load_file('http://www.google.com');
$title = $html->find('title',0)->innertext;
$html->find('title')
會返回一個數組
所以你應該使用$html->find('title',0)
,所以確實元[描述]
$html = new simple_html_dom();
$html->load_file('some_url');
//To get Meta Title
$meta_title = $html->find("meta[name='title']", 0)->content;
//To get Meta Description
$meta_description = $html->find("meta[name='description']", 0)->content;
//To get Meta Keywords
$meta_keywords = $html->find("meta[name='keywords']", 0)->content;
注意:meta標記的名稱區分大小寫!
點通過。通過標記和屬性抓取+1。 – timofey 2013-04-02 05:43:45
你可以使用php代碼和如此簡單的知道。像這裏
$ result ='site.com'; $ tags = get_meta_tags(「html /".$ result);
這不會爲標題隊友:) – 2014-09-28 18:46:00
此功能在某些情況下可怕的失敗 – Innate 2016-03-29 08:11:45
正確的答案是:
$html = str_get_html($html);
$descr = $html->find("meta[name=description]", 0);
$description = $descr->content;
上面的代碼獲取HTML成一個對象的格式,然後查找方法查找名爲描述meta標籤,最後你需要返回的值元標記的內容,而不是其他人所概述的內文或明文。
這已經過測試並在實時代碼中使用。最佳
哪個var應該保存網址? – 2016-09-13 09:44:17
從LeiXC的溶液中取出以上,你需要使用簡單的HTML DOM類:
$dom = new simple_html_dom();
$dom->load_file('websiteurl.com');// put your own url in here for testing
$html = str_get_html($dom);
$descr = $html->find("meta[name=description]", 0);
$description = $descr->content;
echo $description;
我已經測試此代碼,是的,它是區分大小寫的(一些meta標籤使用說明資本d)
下面是一些錯誤的拼寫錯誤檢查:
if(is_object($html->find("meta[name=description]", 0))){
echo $html->find("meta[name=description]", 0)->content;
} elseif(is_object($html->find("meta[name=Description]", 0))){
echo $html->find("meta[name=Description]", 0)->content;
}
$html->find('meta[name=keywords]',0)->attr['content'];
$html->find('meta[name=description]',0)->attr['content'];
我找到了EA SY方式,採取描述
$html = new simple_html_dom();
$html->load_file('your_url');
$title = $html->load('title')->simpletext; //<title>**Text from here**</title>
$description = $html->load("meta[name='description']", 0)->simpletext; //<meta name="description" content="**Text from here**">
如果行包含多餘的空格,那麼試試這個
$title = trim($title);
$description = trim($description);
PHP庫http://simplehtmldom.sourceforge.net/我相信? – 2012-07-08 19:00:21
是的,這是正確的 – 2012-07-08 19:21:14