コードは、ID の要素caption
内で、クラスが の要素を見つけようとしますleadtxt
。ID があり、ID は一意である必要があるため、単純にそれを使用する方が理にかなっています。
$html->find('#leadtxt', 0)
あなたの質問に対する正確な答えは次のとおりです。
$html->find('div#leadtxt.caption', 0)
スペースが不足していることに注意してください。ID がleadtxt
でクラスがの div 要素が見つかりますcaption
。しかし、繰り返しになりますが、これは冗長であり、上記のアプローチの方が優れており、おそらくより高速です。
編集:あなたがやろうとしていることを正確に理解していないので、ここにいくつかの例を示します。
leadtxt
次の例では、IDまたはクラスが であるすべての要素が検索されますcaption
。
$html->find('#leadtxt, .caption')
// OR specify the fact you only want DIV elements...
$html->find('div#leadtxt, div.caption')
これは、指定されたクラス (1 つ以上) のいずれかを持つ要素が必要であることを指定します。
$html->find('.classone, .classtwo, .classthree')
// OR just the DIV elements with any of these classes:
$html->find('div.classone, div.classtwo, div.classthree')
これは、指定されたすべてのクラスを持つ要素を指定します。
$html->find('.classone.classtwo.classthree')
// OR again, just DIV elements...
$html->find('div.classone.classtwo.classthree')
編集 2:既に述べたように、複数のクラス/ID を一緒に指定するセレクターを提供するたびに、Simple HTML DOM が失敗するようです。これは、まだ対処されていないライブラリの弱点であるとしか思えません。と主張しているにもかかわらず、上記の標準 CSS セレクターでは機能しないことを意味するため、残念です。