PHP:简单的HTML DOM解析器 - find()中的多个属性?

问题描述:

我使用简单的HTML DOM分析器,但无法弄清楚如何获取具有2个或更多匹配属性的元素。PHP:简单的HTML DOM解析器 - find()中的多个属性?

可悲的是,拿到第2个的div,这不起作用:

$html = "<div title='test a' class='a' >test a</div> 
     <div title='test b' class='b' >test b</div> 
     <div title='test c' class='c' >test c</div>"; 

$htmldom = str_get_html($html); 
$ab = $htmldom->find("div[class=a][class=b]"); 

它甚至有可能?

+0

您是否想将'div's与类'a'或类'b'匹配,或者只匹配具有这两个类('a'和'b')的div? – jsalonen

您可以通过调用找到任何类ab类的所有div:

$ab = $htmldom->find("div[class=a], div[class=b]"); 

有关详情,see manual的“如何找到HTML元素 - >高级”。

+0

这对我不起作用。 find('h2')的作品,find('title')的作品,但find('h2,title')不会返回任何内容。 – TGR