我正在使用PHP / Zend将html加载到DOM中,然后我得到一个我想要修改的特定div id。
$dom = new Zend_Dom_Query($html);
$element = $dom->query('div[id="someid"]');
如何修改$element
div中显示的text / content / html,然后将更改保存到$dom
或$html
,以便我可以打印修改后的html。知道怎么做吗?
答案 0 :(得分:3)
Zend_Dom_Query专为查询dom而量身定制,因此它不会提供一个接口来改变dom并保存它,但它确实暴露了PHP Native DOM对象,它们可以让你这样做。这样的事情应该有效:
$dom = new Zend_Dom_Query($html);
$document = $dom->getDocument();
$elements = $dom->query('div[id="someid"]');
foreach($elements AS $element) {
//$element is an instance of DOMElement (http://www.php.net/DOMElement)
//You have to create new nodes off the document
$node = $document->createElement("div", "contents of div");
$element->appendChild($node)
}
$newHtml = $document->saveXml();
看看PHP Doc for DOMElement,了解如何改变dom: