クラス名で DOM 要素を取得するためのベスト プラクティス
PHP DOM で、そのクラスに基づいて DOM ノード内のサブ要素を取得する名前は一般的なタスクです。これを実現するためのいくつかのアプローチを次に示します。
XPath セレクター:
XPath セレクターは、クラス属性に基づいて要素を分離する柔軟な方法を提供します。次の Xpath 式は、特定のクラス名を持つ要素を取得します:
//*[contains(@class, 'my-class')]
"*" を置き換えます。特定の要素をターゲットにしている場合は、目的のタグ名を付けます。
Zend_Dom_Query (非推奨):
Zend_Dom_Query は CSS セレクター構文をサポートし、要素の取得を簡素化します。次の CSS セレクターは、「my-class」クラスの要素を取得します:
*[class~="my-class"]
ダイレクト DOM アクセス:
このメソッドには、DOM ツリーを走査し、手動で比較することが含まれます。各ノードのクラス属性。これはより冗長なアプローチですが、特定のシナリオでは効率的です。
$dom = new DomDocument(); $dom->load($filePath); $nodes = $dom->getElementsByTagName("*"); foreach ($nodes as $node) { if (in_array("my-class", $node->getAttribute("class"))) { // Found the element } }
推奨事項:
一般的には、contains() を使用した XPath セレクター アプローチが柔軟性の点で推奨されます。そしてブラウザ間の互換性。ただし、複雑なセレクターを使用する場合、または高度な機能が必要な場合は、Zend_Dom_Query (非推奨) または手動 DOM アクセスの方が適している可能性があります。
以上がPHP でクラス名によって DOM 要素を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。