【发布时间】:2026-01-13 14:40:01
【问题描述】:
如何在 PHP5 中根据用户的输入创建 DOM?
【问题讨论】:
标签: php dom web-applications
如何在 PHP5 中根据用户的输入创建 DOM?
【问题讨论】:
标签: php dom web-applications
我会使用从 5 开始就成为核心一部分的 DOM API。对于 XML 字符串 $xml,您可以使用构建 DOM 对象
$dom = new DOMDocument();
$dom->loadXML($xml);
使用定义在http://uk.php.net/DOM 的其余 DOM API 来操作它
【讨论】:
当您需要将其注入其他 DOM(例如您的 HTML 页面)时,您可以使用 $dom->saveXML() 方法再次将其导出。然而,问题在于它还导出了一个 xml 标头(对于 saveHTML 版本来说更糟)。要摆脱这种情况,请使用:
$xml = $dom->saveXML();
$xml = substr( $xml, strlen( "<?xml version=\"1.0\"?>" ) );
【讨论】:
如果输入是 HTML,请使用 loadHTML 方法。请注意,输入必须是有效代码,因此您可能需要先通过html tidy 进行管道传输。
【讨论】: