使用simple_html_dom.php库来刮取Html

时间:2012-11-21 15:45:24

标签: php dom simple-html-dom

有一个html文档,格式如下:

<div....>
  <map name="blah"
           .
           .
   />
  <map name="blah2"
          .
          .
   />
</div>

我想要总是检索第二张地图。但是,我想完全动态。

$url = $_GET['url'];
$html_content = getHTML($url);
$html = str_get_html($html_content);

$map = $html->find('map[name=blah2]');

前面提到的线条工作得非常好。 但正如我之前提到的,我不想手动给出这个名字。我只想要第二张地图。此外,我还要检索地图的名称。

有什么想法吗?

P.S。下面的代码不起作用。我以前试过这个。并且不会在地图下显示内容。但是,正确返回地图名称

   $map = $html->find('map',1);

3 个答案:

答案 0 :(得分:1)

怎么样:

$map = $html->find('map', 1);
echo $map->name;

答案 1 :(得分:1)

这很容易:

$map = $html->find('map',1);
if($map != null)
    $name = $map->name;

你必须look

答案 2 :(得分:1)

您可以使用jQuery的端口,例如PHPQuery http://code.google.com/p/phpquery/,它可以为您提供eq()选择器,并且通常可以对XML进行相当丰富的操作