5

「class」属性が「someclass」に等しいタグを取得したいのですが、属性「id」を定義していないタグのみを取得します。

私は(この答えに基づいて)次のことを試みましたが、うまくいきませんでした:

$html->find('.someclass[id!=*]');

ノート:

Simple HTML DOMクラスを使用していますが、それらが提供する基本的なドキュメントでは、必要なものが見つかりませんでした。

4

2 に答える 2

6

PHP Simple HTML DOMパーサーマニュアルの「HTML要素を見つける方法」の下にありますか?、私たちは読むことができます:

[!attribute]指定された属性を持たない要素に一致します。

コードは次のようになります。

$html->find('.someclass[!id]');

これは、属性someClassを持たないクラスを持つ要素と一致します。id


Simple HTML DOMパーサーは、次のように読むことができるメインページで要素をサポートすると主張しているため、私の元の答えは、jQueryの場合と同じように要素の選択に基づいていました。

jQueryのようにセレクターを使用してHTMLページでタグを検索します。

私の最初の答えに腹を立て、コメントで彼らの不満を表明した人々に心からお詫びします!

于 2012-05-08T19:53:10.903 に答える
4

単純なHTMLDOMクラスは、負の属性のマッチングに必要なCSS3疑似クラスをサポートしていません。

制限を簡単に回避できます。

$nodes = array_filter($html->find('.something'), function($node){return empty($node->id);});
于 2012-10-05T18:58:50.017 に答える