1

クラスごとに Zend_Dom_Query を使用して HTML ノードを取得するのは非常に簡単です。

$dom = new Zend_Dom_Query($html);
$rows = $dom->query("//div[@class='upc']");

ただし、HTML ノードには複数のクラスがあることがよくあります。たとえば、次のようになります。

<div class="hidden upc">

Zend_Dom_Query と XPath を使用して、class 属性に特定の値を指定するのではなく、クラスのリストに特定のクラスを含むすべてのノードを見つけるにはどうすればよいでしょうか?

Java を使用してこれを行う例を見つけましたが、それを PHP Xpath エンジンに適用すると、XPath クエリが無効であるというエラーが発生するため、機能しないようです。

//div[contains(concat(' ',normalize-space(@class),' '),' foo ')]
4

1 に答える 1

1

複数のクラスを持つdivを選択するためにこれを探していると思います:

$rows = $dom->query('div.hidden.upc');

于 2011-11-18T21:43:11.077 に答える