我正在创建一个使用文件字符串的工具,我需要获取找到节点的行号。是的,我有这个:
$dom = new DOMDocument('1.0');
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
foreach ($xpath->query("//text()") as $q) {
// $line = WHAT???
$strings[trim($q->nodeValue)] = $line;
}
我需要知道哪一行开始我在$strings
数组中存储的字符串。是否有可能得到它?
答案 0 :(得分:1)
每个DOMNode
对象都有一个getLineNo()
函数返回此值。在您的情况下,它是DOMText
对象,从DOMNode
延伸:
foreach ($xpath->query("//text()") as $q) {
$line = $q->getLineNo();
$strings[trim($q->nodeValue)] = $line;
}
如果您还没有使用该功能,则可能需要升级到PHP 5.3。