2013-08-04 53 views
0

尝试获取某个区域的所有标题=“”vales,但它仅挑选该页面的主标题。 样品面积的html:使用html dom解析器获取区域的所有标题

<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

你可以发布$ url的值吗? –

回答

0

调用该方法是这样的:

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

因为您正在寻找区域标签。标题是一个论点。 See this documentation想法如何做到这一点。

+0

返回空白数组 – user1977434

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')); 

如果你使用$网址为paramenter,你不应该使用file_get_html()代替str_get_html()

+0

我累了,但仍然返回空白阵列:( – user1977434

+0

@ user1977434你使用url作为参数?将'str_get_html'更改为'file_get_html' –