これは jQuery を使用して可能であることがわかりますが、QueryPath でどのように行うことができますか?
そうでない場合、コメントを選択できる HTML パーサーを誰か提案できますか?
これは jQuery を使用して可能であることがわかりますが、QueryPath でどのように行うことができますか?
そうでない場合、コメントを選択できる HTML パーサーを誰か提案できますか?
QPXML
QueryPathには、いくつかのアドオンメソッドを持つという拡張機能が付属しています。これらの1つはですcomment()
。
これを使用するには、スクリプトに含めるだけです。
include 'QueryPath/QueryPath.php';
include 'QueryPath/Extensions/QPXML.php';
htmlqp($html, $selector)->comment();
これにより、現在選択されているノードに添付されている最初のコメントが取得されます。
すべて同じノード内に非常に洗練されたコメントのセットがある場合は、次のようにすることができます。
$nodes = $qp->get();
foreach ($nodes as $node) {
foreach ($node->childNodes as $child) {
if ($child->nodeType == XML_COMMENT_NODE) {
// $child is a comment.
print $child->textContent;
}
}
}
これは少し醜いですが、1つの要素に多くのコメントが含まれている場合にアクセスしやすくなります。