2014-11-03 95 views
0

的数据让我们说我有一个包含这一个HTML页面:解析属性某些HTML元素

<meta property="image" content="http://example.com/example.jpg" /> 

我如何使用PHP来达到这个“元财产”,并从“内容”的形象网址是什么?

谢谢!

+0

到目前为止,您尝试了什么?如果它是一个字符串,那么你可以使用正则表达式。如果这是一个呈现的页面,则需要使用javascript和regexp来获取该字符串。 – vaso123 2014-11-03 13:23:29

+0

你不能。 html是客户端和PHP服务器端。你究竟想要做什么?你什么时候想在PHP中获得价值?当页面刷新或导航? – 2014-11-03 13:24:18

+1

你是否真的从某个网站抓取/抓取内容,并想获取图片网址?请提供更多的数据,全文... – sinisake 2014-11-03 13:29:31

回答

4

工作现场:http://codepad.org/ggUwL06F

$doc = new DOMDocument(); 
$doc->loadHTML('<meta property="image" content="http://example.com/example.jpg" />'); 

$metas = $doc->getElementsByTagName('meta'); 

foreach($metas as $meta){ 

    if($meta->getAttribute('property') == 'image') { 
     $meta_image = $meta->getAttribute('content'); 
     break; 
    } 

} 

echo $meta_image; 

不要使用正则表达式来解析HTML。同样@ Kiwi1指出你可以使用PHP内置函数get_meta_tags()。尽管如此,我更愿意使用DOM解析HTML,即使是简单的东西。

+0

谢谢!它工作正常! :) – sotirelisc 2014-11-03 16:38:20

2

PHP具有从URL中提取所有元标记内容属性的功能。在PHP文档中查找它。

$tags = get_meta_tags('http://www.url.com/');