PHP XPath和行号

时间:2011-06-14 18:36:07

标签: php xpath

以下xpath有效,但是如何获得行号,xpath在其中找到类'blah'的p元素?

<?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 个答案:

答案 0 :(得分:1)

XPath和DOM没有行号的概念。他们只看到节点,以及它们之间的联系。

DOM对象本身可能有一些内部元数据可以将节点与源文件中的哪一行相关联,但是您必须在对象内部进行搜索并找到DOM源。似乎没有在http://php.net/dom提到的任何内容。

或者,如果您正在查看的节点和/或周围的HTML在文档中是完全/完全唯一的,您可以在原始html中搜索节点的匹配HTML文本并获取该方式的行号