2011-06-14 18 views
0

以下xpath的作品,但我怎樣才能得到行號碼在哪裏xpath找到類'blah'的p元素?PHP XPath和行號

<?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

XPath和DOM沒有行號的概念。他們只看到節點,以及它們之間的聯繫。

DOM對象本身可能有一些內部元數據,它可以將節點關聯到源文件中的哪一行,但是您必須在對象和DOM源內部搜索以找出。似乎沒有在http://php.net/dom提到的任何東西。或者,如果您正在查看的節點和/或周圍的HTML在文檔中是相當/完全唯一的,則可以搜索原始html以獲取節點的匹配HTML文本,並獲得一個行號辦法。

+0

乾杯馬克,猜我必須去搜索原始html。 – Kay 2011-06-14 19:51:09