QueryPath поставляется с расширением под названием QPXML
, которое имеет несколько дополнительных методов.Одним из них является 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;
}
}
}
Это немного уродливее, но дает лучший доступ к деламгде один элемент имеет много комментариев.