「class」属性が「someclass」に等しいタグを取得したいのですが、属性「id」を定義していないタグのみを取得します。
私は(この答えに基づいて)次のことを試みましたが、うまくいきませんでした:
$html->find('.someclass[id!=*]');
ノート:
Simple HTML DOMクラスを使用していますが、それらが提供する基本的なドキュメントでは、必要なものが見つかりませんでした。
「class」属性が「someclass」に等しいタグを取得したいのですが、属性「id」を定義していないタグのみを取得します。
私は(この答えに基づいて)次のことを試みましたが、うまくいきませんでした:
$html->find('.someclass[id!=*]');
ノート:
Simple HTML DOMクラスを使用していますが、それらが提供する基本的なドキュメントでは、必要なものが見つかりませんでした。
PHP Simple HTML DOMパーサーマニュアルの「HTML要素を見つける方法」の下にありますか?、私たちは読むことができます:
[!attribute]指定された属性を持たない要素に一致します。
コードは次のようになります。
$html->find('.someclass[!id]');
これは、属性someClass
を持たないクラスを持つ要素と一致します。id
Simple HTML DOMパーサーは、次のように読むことができるメインページで要素をサポートすると主張しているため、私の元の答えは、jQueryの場合と同じように要素の選択に基づいていました。
jQueryのようにセレクターを使用してHTMLページでタグを検索します。
私の最初の答えに腹を立て、コメントで彼らの不満を表明した人々に心からお詫びします!
単純なHTMLDOMクラスは、負の属性のマッチングに必要なCSS3疑似クラスをサポートしていません。
制限を簡単に回避できます。
$nodes = array_filter($html->find('.something'), function($node){return empty($node->id);});