使用Zend_Dom_Query,我想从HTML字符串中检索元数据。
检索链接,您可以像这样查询:
$results = $dom->query('a'); //Where $dom is your html string
不幸的是,这似乎不适用于meta
$results = $dom->query('meta'); //doesn't work
如何检索元数据,然后按其“属性”属性进行过滤?
我正在寻找的一个例子:
public function meta($dom)
{
$results = $dom->query('meta'); //This is not a correct query (does anyone have an alternative?)
$links = array();
foreach ($results as $index => $result) {
if ($result->getAttribute('property') == 'title') { //find <meta property="title"
echo $result->getAttribute('content') . '<br />'; //echo the content attribute of the title
}
}
return $results;
}
一旦查询正确,此代码将起作用。但是我想更进一步,直接查询<meta property="title" content="This is the Title" />
,而不是检索所有元数据并循环以获得正确的数据。
使用zend_dom_query获取所有元数据或(更重要的是)查询仅接收属性== title的元数据的任何帮助都将受到赞赏。
由于
答案 0 :(得分:0)
$dom->queryXpath($xPathQuery)
方法而不是{{1 }}
可能是这样的:
$dom->query()
我不确定要使用的确切查询字符串,但这是个主意。
答案 1 :(得分:0)
$ metatagarray = get_meta_tags($ url);
if(!empty($ metatagarray [“keywords”]))
$ metakey = $ metatagarray [“keywords”];
if(!empty($ metatagarray [“description”]))
$ metadesc = $ metatagarray [“description”];