我需要将部分 DOM 元素转换为带有 html 标签的字符串。
我试过跟随,但它只打印一个没有标签的文本。
$dom = new DOMDocument();
$dom->loadHTMLFile('http://www.pixmania-pro.co.uk/gb/uk/08920684/art/packard-bell/easynote-tm89-gu-015uk.html');
$xpath = new DOMXPath($dom);
$elements=xpath->query('//table');
foreach($elements as $element)
echo $element->nodeValue;
我想要所有的标签和表格中的内容。有人能帮我吗。这将是一个很大的帮助。
谢谢。
最佳答案
foreach($elements as $element){
echo $dom->saveHTML($element);
}
旧答案(php < 5.3.6):
- 创建 DomDocument 的新实例
- 克隆您希望保存为 HTML 的节点(包含所有子节点)
- 将克隆的节点导入到新的 DomDocument 实例并将其作为子节点追加
- 将新实例保存为 html
所以是这样的:
foreach($elements as $element){
$newdoc = new DOMDocument();
$cloned = $element->cloneNode(TRUE);
$newdoc->appendChild($newdoc->importNode($cloned,TRUE));
echo $newdoc->saveHTML();
}
关于php - 将部分 dom 元素转换为带有 html 标签的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4530504/