试图获得所有标题=""区域的价值,但它只选择页面的主标题。 示例区域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'));
我得到的只是页面的标题,这是正确的方式,还是不能完成,感谢您的帮助:))
答案 0 :(得分:0)
调用这样的方法:
print_r(getTextBetweenTags($url, 'area'));
因为您正在搜索区域标签。标题是一个论点。 See this documentation了解如何做到这一点。
答案 1 :(得分: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()
吗?