2

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

注意:我只对 JQuery 如何选择和操作 DOM 感兴趣,而不是 JQuery 的所有其他部分(我猜你可以只说 Pop 和Sizzle 部分)。


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

4

4 回答 4

4

您可以使用phpQuery

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

于 2011-09-22T14:51:12.587 回答
3

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

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

享受 :)

于 2010-04-27T14:42:51.580 回答
2

是的,HtmlPageDom完全按照您的要求编写。

于 2014-12-10T11:19:41.280 回答
1

@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 库那样简单,因为它不是,不幸的是.....

于 2012-04-09T13:41:28.710 回答