0

我正在创建一个适用于文件字符串的工具,我需要获取找到节点的行号。是的,我有这个:

$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数组中的字符串从哪一行开始。有可能得到它吗?

4

1 回答 1

1

每个DOMNode对象都有一个getLineNo()返回 this 的函数。在您的情况下,它是一个从以下DOMText扩展的对象DOMNode

foreach ($xpath->query("//text()") as $q) {
    $line = $q->getLineNo();
    $strings[trim($q->nodeValue)] = $line;
}

如果您还没有使用该功能,您可能需要升级到 PHP 5.3。

于 2012-06-19T11:08:30.803 回答