也许这是一个愚蠢的问题,但我需要从选定的html页面获取一个包含所有HTML节点的Object。我必须使所有节点都可选,尤其是开始标记。如果有人知道 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');
答案 0 :(得分:0)
您可以尝试这种方式:
/.../
$values = $crawler->filterXpath('//body')->each(function ($node) {
return $node->html();
});
/.../
答案 1 :(得分:0)
解决方案:
好吧,至少我觉得太熟了:)
这很简单:
$body->filter('img')->setAttribute('src', $this->absPath.$bodySource->filter('img')->attr('src') );