PHP XPath и номера строк - PullRequest
       2

PHP XPath и номера строк

0 голосов
/ 14 июня 2011

Следующий xpath работает, но как мне получить номер строки , при котором xpath находит элемент p с классом 'blah'?

<?php    
$doc = new DOMDocument();
$doc->loadHTML('<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
</head>

<body>
<p class='blah'>some text here</p>
</body>

</html>');
$xpath = new DOMXPath($doc);
$xpath_query = "//*[contains(@class, 'blah')]";
?>

1 Ответ

1 голос
/ 14 июня 2011

XPath и DOM не имеют понятия о номере строки.Они видят только узлы и связи между ними.

Сам объект DOM может иметь некоторые внутренние метаданные, которые могут связать узел с той строкой, в которой он находился в исходном файле, но вам придется покопатьсявокруг внутри объекта и источника DOM, чтобы узнать.Кажется, ничего не упоминается в http://php.net/dom.

В качестве альтернативы, если узел, на который вы просматриваете, и / или окружающий HTML-код достаточно / полностью уникален в документе, вы можете выполнить поиск в необработанном HTML-файле.для соответствующего HTML-текста узла и получить номер строки таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...