【问题标题】:How to create a DOM from a User's input in PHP5?如何从 PHP5 中的用户输入创建 DOM?
【发布时间】:2026-01-13 14:40:01
【问题描述】:

如何在 PHP5 中根据用户的输入创建 DOM?

【问题讨论】:

    标签: php dom web-applications


    【解决方案1】:

    我会使用从 5 开始就成为核心一部分的 DOM API。对于 XML 字符串 $xml,您可以使用构建 DOM 对象

    $dom = new DOMDocument();
    $dom->loadXML($xml);
    

    使用定义在http://uk.php.net/DOM 的其余 DOM API 来操作它

    【讨论】:

      【解决方案2】:

      当您需要将其注入其他 DOM(例如您的 HTML 页面)时,您可以使用 $dom->saveXML() 方法再次将其导出。然而,问题在于它还导出了一个 xml 标头(对于 saveHTML 版本来说更糟)。要摆脱这种情况,请使用:

      $xml = $dom->saveXML();
      $xml = substr( $xml, strlen( "<?xml version=\"1.0\"?>" ) );
      

      【讨论】:

        【解决方案3】:

        如果输入是 HTML,请使用 loadHTML 方法。请注意,输入必须是有效代码,因此您可能需要先通过html tidy 进行管道传输。

        【讨论】: