1
我正在使用DOMCrawler來選擇基於CSS選擇器的HTML,就像這樣;使用Symfony Crawler來選擇HTML塊
$selector = '#content';
$html = $my_fetched_html;
$crawler = new Crawler($html);
$crawler = $crawler->filter($selector);
這一切都是好的,如果我通過$履帶元素迭代,它證實了選擇工作,即,我只得到一個div,而不是完整的HTML。
但是,當談到節省HTML我有問題,因爲做這樣的事情;
$html = '';
foreach ($crawler as $domElement) {
$html.= $domElement->ownerDocument->saveHTML();
}
echo $html;
(作爲證明in this question)
我再次得到充分的結構和我猜想它,因爲$ ownerDocument仍然是原來的(未選)$履帶式文件。
所以,我需要的是能夠實例化一個新的DomDocument(也許?)我的元素從那裏添加到它,然後saveHTML()方法。我認爲?
僞代碼;
$doc = new DomDocument
foreach ($crawler as $domElement) {
$doc->addChild($domElement);
}
$new_html = $doc->saveHTML();
我很樂意幫忙,它開始做我的頭。
美麗!謝謝。 – Christian