【问题标题】:Is there a JQuery DOM manipulator/CSS selector equivalent class in PHP?PHP 中是否有 JQuery DOM 操作/CSS 选择器等效类?
【发布时间】:2011-02-12 21:46:04
【问题描述】:

我知道我可以使用DOMDocumentDOMXPath 来操作XML 文件。但是,我真的很喜欢 JQuery,如果在 PHP 世界中有更多类似 JQuery 的东西可以用于服务器端 DOM 操作,那就太好了。

注意:我只对如何 JQuery 选择和操作 DOM,而不是全部 JQuery 的其他部分(我猜 你可以只说流行音乐和Sizzle 部分)。


更新:
看起来选择器函数有一个等价物,但就操作函数而言,我想我必须坚持使用 DOMDocument。

【问题讨论】:

    标签: php jquery css-selectors dom-manipulation sizzle


    【解决方案1】:

    您可以使用phpQuery

    它对自身的描述如下:phpQuery 是一个 PHP5 服务器端、可链接、CSS3 选择器驱动的文档对象模型 (DOM) API,基于 jQuery JavaScript 库。

    【讨论】:

      【解决方案2】:

      好吧,除了 CSS 选择器引擎剩下的所有 JavaScript 特定的东西:

      http://framework.zend.com/manual/en/zend.dom.query.html

      享受:)

      【讨论】:

      • 我想这正是我想要的。
      【解决方案3】:

      是的,HtmlPageDom 完全符合您的要求。

      【讨论】:

        【解决方案4】:

        @retro:他要求的是一个像 sizzle 这样的库,它使用 PHP 作为一种语言而不是 javascript,你所说的“没有改变来写它”是错误的,它只是代码,你可以把它写成随心所欲。

        但是,我认为问题在于,在浏览器中运行的 javascript 在访问 DOM 系统时会为您提供 +1,这可以帮助您自动创建大量 dom 节点/html 节点,而无需这样做他们自己。

        在 php 中,DOM 很痛苦,jquery 很乐意将其隐藏起来,并且由于 javascript 的工作方式与 PHP 不同,它可以毫不费力地做到这一点,但是 PHP 无法访问浏览器 DOM 并且具有不同的操作方法,更痛苦。

        这并不是说不可能,因为它是不可能的,只是它并不那么容易,有时在似乎没有明确原因的情况下会有所不同,我相信这可能是 PHP DOM 内部使用 libXML或类似的东西,并且在内部暴露了太多该库,因此 PHP 被 C 库语义弄得一团糟。

        我认为你应该看看 phpQuery(https://github.com/TobiaszCudnik/phpquery),或者甚至更好且正在积极开发中的 QueryPath (http://querypath.org)。

        但是,不要期望它们像 javascript jquery 库那样简单,因为它不是,不幸的是.....

        【讨论】:

          猜你喜欢
          • 2011-03-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-04
          相关资源
          最近更新 更多