开发者

PHP XPath and Line Numbers

The followin开发者_如何学JAVAg xpath works, but how can i get the line number at which the xpath finds the p element with class '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')]";
?>


XPath and DOM have no concept of a line number. They only see nodes, and the linkages between them.

The DOM object itself may have some internal metadata which can relate a node back to which line it was on in the source file, but you'd have to rummage around inside the object and the DOM source to find out. Doesn't seem to be anything mentioned at http://php.net/dom.

Alternatively, if the node you're looking at, and/or the surrounding HTML is fairly/totally unique in the document, you could search the raw html for the matching HTML text of the node and get a line number that way.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜