0

试图获取一个区域的所有 title="" 值,但它只选择页面的主标题。示例区域 html:

<area shape="poly" title="Orkney" href="orkney" coords="" />

该页面有很多这些,我正在尝试获取所有标题名称我的 PHP:

function getTextBetweenTags($string, $tagname) {
    // Create DOM from string
    $html = str_get_html($string);

    $titles = array();
    // Find all tags 
    foreach($html->find($tagname) as $element) {
        $titles[] = $element->plaintext;
    }

    return $titles;
}


print_r(getTextBetweenTags($url, 'title'));

我得到的只是页面的标题,这是正确的方法,还是不能完成,感谢您的帮助:)

4

2 回答 2

0

像这样调用方法:

print_r(getTextBetweenTags($url, 'area'));

因为您正在搜索区域标签。标题是一个论据。有关如何执行此操作的想法,请参阅此文档。

于 2013-08-04T18:43:59.460 回答
0

您需要查找<area>元素并返回其title属性

function getTextBetweenTags($string, $tagname) {
    // Create DOM from string
    $html = str_get_html($string);
    $titles = array();
    // Find all tags 
    foreach($html->find($tagname) as $element) {
        $titles[] = $element->title;
    }
    return $titles;
}

print_r(getTextBetweenTags($url, 'area'));

如果您使用 $url 作为参数,您不应该使用file_get_html()而不是str_get_html()吗?

于 2013-08-04T18:45:22.297 回答