Symfony 2 domCrawler, как получить все дочерние элементы <body>

Может быть, это глупый вопрос, но мне нужно получить объект со всеми узлами HTML с выбранной HTML-страницы. Я должен сделать все узлы выбираемыми, особенно открывающие теги. Если кто-нибудь знает шаблон двигателя от Typo3 Templavoila; Я думаю, что это подходит лучше всего, но я бы хотел восстановить его сам, но у меня нет идеи, как получить все открывающие теги в объекте.

Если кто-то может нажать некоторые детали, на самом деле, я тестирую с помощью domCrawler, как это, но это немного сбивает с толку....

 foreach ($crawler as $domElement) {
        foreach ($domElement as $test){
            var_dump($test->nodeName);
        }
        var_dump($domElement);
        $html .= $domElement->ownerDocument->saveHTML($domElement);
    }

Поэтому после некоторого исследования я использую HTMLPageDom и использую его следующим образом:

 $css= new HtmlPage();
    $css = new HtmlPage($head);
    $cssNew = $css->filter('link')->each(function ($node) {
        $node= $node->attr('href');
        return $node;
    });

Так что это работает более или менее, но я думаю, что я что-то не так понял. Как я могу добавить данные в $node->attr('href)? С:

$node->attr('href')->append('data in front of linkuri');

2 ответа

Вы можете попробовать таким образом:

/.../

$values = $crawler->filterXpath('//body')->each(function ($node) {
    return $node->html();
});

/.../

РЕШЕНИЕ:

Хорошо, по крайней мере, я думал слишком усталым:)

Это так просто:

$body->filter('img')->setAttribute('src', $this->absPath.$bodySource->filter('img')->attr('src') );
Другие вопросы по тегам