如何遍历Dom的所有节点。
我使用最新的Symfony Crawler。
简单示例:
<?php
function test()
{
$crawler = new Crawler($html);
$crawler
->filter('body > ul')
->each(function (Crawler $node, $i) {
loop($node);
});
}
function loop(Crawler $node)
{
static $counter;
if ($node->filter('ul')->count() > 0) {
loop($node);
}
$counter++;
echo PHP_EOL,'Node: ', $counter, PHP_EOL;
}
我收到一条消息:
例如致命错误:达到最大功能嵌套级别'100', 中止!在 第269行的/.../vendor/symfony/css-selector/XPath/Extension/NodeExtension.php
HTML:
<body>
<ul>
<li>
<ul>
<li>foo</li>
<li>bar</li>
</ul>
</li>
<li>baz</li>
</ul>
<ul>
<li>buz</li>
</ul>
<ul>
<li>uaz</li>
</ul>
</body>
由于
答案 0 :(得分:2)
增加php.ini中xdebug.max_nesting_level = 250
的值:
http://xdebug.org/docs/all_settings#max_nesting_level