代码之家  ›  专栏  ›  技术社区  ›  Michael Lumbroso

PHP-DOM操作的用途是什么?

  •  2
  • Michael Lumbroso  · 技术社区  · 15 年前

    我知道它主要用于解析一些html或xml,但是还有其他应用程序适合使用它吗?

    4 回复  |  直到 9 年前
        1
  •  3
  •   Pascal MARTIN    15 年前

    一般来说,Javascript是在web浏览器的客户端执行的。
    另一方面,PHP在服务器端执行。

    通常,您必须在服务器上操作XML文档;在这些情况下,您只能使用PHP,而不能依赖于浏览器/Javascript。


    除了运行的地方之外,PHP和Javascript在DOM操作方面没有太大区别——这是DOM的一个优点:它非常标准化。


    例如,您可能希望生成ATOM或RSS提要 (它们是XML) 网站上最近的文章;这将在服务器端完成。

    另一个例子是一个批处理脚本,它将处理银行每晚发送的XML文件,其中包含最后一天的所有付款;对于这样的批处理过程,绝对没有浏览器。

        2
  •  1
  •   RobertPitt    15 年前

    您可以选择以下几种:

    最好的/最容易的是 可在 http://simplehtmldom.sourceforge.net/

    • 用PHP5编写的HTML-DOM解析器+
    • 允许您以非常简单的方式操作HTML
    • 无效的HTML。在HTML上查找标记
    • 像jQuery一样使用选择器页面。
    • 单行线。

    或者你也可以使用PHPDom,更高级,更多的代码,但更精确的编码。网址: http://php.net/manual/en/book.dom.php

    <?php
    
    $html = <<<EOF
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      </head>
      <body>
        <p>&nbsp;</p>
      </body>
    </html>
    EOF;
    
    // This one works perfectly.
    $dom = new DOMDocument();
    $dom->loadXML($html, LIBXML_DTDLOAD);
    
    //Do here what you will.
    
    print $dom->saveXML();
    
    ?>
    
        3
  •  0
  •   Tom Morris    15 年前

    不同之处在于使用它们的环境:在JavaScript中,您操作的DOM位于客户端,即加载了您正在查看的HTML页面的浏览器。如果您在PHP中使用domapi操作文档,那么您就是在服务器端对文档进行操作。

    这看起来很混乱,因为DOM在这两种语言中都有使用。这样做只是为了方便:PHP实现DOM命令很简单,这样就可以轻松地用PHP编写与JavaScript相同的代码。不能使用PHP中的domapi支持来操作浏览器DOM。

        4
  •  0
  •   Gordon Haim Evgi    15 年前

    DOM is a language agnostic interface defined by the W3C. :

    文档对象模型是一个平台和语言中立的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。文档可以进一步处理,处理的结果可以合并回呈现的页面。

    DOM在PHP中的用途与在JavaScript中的用途相同。但是,由于在JavaScript中使用DOM通常发生在浏览器中,并且对DOM有立即可见的影响,因此对您来说可能会有所不同。当然,因此用phpdom实现动画是没有意义的。但请记住,动画只是 动态访问和更新内容

    有关更多信息,请参阅链接。