PHP: Simple HTML DOM Parser - multiple attributes

2019-07-11 12:52发布

问题:

I'm using Simple HTML DOM Parser but can't figure out how to get elements that have 2 or more matching attributes.

Sadly, to get the first 2 divs, this doesn't work:

$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]");

Is it even possible?

回答1:

You can find all divs with either class a or class b by invoking:

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

For details, see manual on "How to find HTML elements -> Advanced".