使用简单的html dom获取url-data属性

时间:2015-06-11 12:39:01

标签: php html arrays parsing dom

我关心的是使用php html dom library从div中提取链接。

代码示例:

include("simple_html_dom.php");
$html='
<div id="base" url-data="http://www.domaine.com/page?user=username"></div>
<div id="base" url-data="http://www.domaine.info/page?user=username"></div>
<div id="base" url-data="http://www.domaine.org/page?user=username"></div>
<div id="base" url-data="http://www.domaine.net/page?user=username"></div>
<div id="base" url-data="http://www.domaine.biz/page?user=username"></div>
<div id="base" url-data="http://www.domaine.fr/page?user=username"></div>
';

我需要从div获取所有域名,然后使用简单的html dom解析器示例将它们存储在php数组中:

domaine.com,domaine.info,domaine.org,domaine.net,domaine.biz,domaine.fr

谢谢。

1 个答案:

答案 0 :(得分:1)

include("simple_html_dom.php");
$html='
<div id="base" url-data="http://www.domaine.com/page?user=username"></div>
<div id="base" url-data="http://www.domaine.info/page?user=username"></div>
<div id="base" url-data="http://www.domaine.org/page?user=username"></div>
<div id="base" url-data="http://www.domaine.net/page?user=username"></div>
<div id="base" url-data="http://www.domaine.biz/page?user=username"></div>
<div id="base" url-data="http://www.domaine.fr/page?user=username"></div>
';
$str_html=str_get_html($html);
// $file_html=file_get_html($html); // use file_get_html if you parse an url.
$div=$str_html->find("div#base");
$count=count($div)-1;
for($a=0;$a<=$count;$a++){
    $url=$str_html->find("div#base",$a)->getAttribute('url-data');
    $parse = parse_url($url);
    $domain = $parse['host'];
    $array[]=$domain;
}
print_r($array);