PHP Native DOMDocument和Simple DOM Parser – 是否有大小限制
我需要解析
HTML文档的内容(由Microsoft Word生成).遍历DOM以获取我需要的信息/内容,然后输出所需的CSV.我知道,几乎没有脑部手术.
现在因为PHP不是我的事情而且我有一个紧张的时间表我将使用http://simplehtmldom.sourceforge.net/的PHP Simple HTML DOM Parser 我注意到我的脚本无效.经过反复试验,我意识到这是由于Word生成的HTML文件的文件大小(它们是3MB,并且有多达30,000行HTML!).我假设有一个文件大小限制,可以使用PHP Simple HTML DOM Parser和本机PHP DOMDocument API解析什么?如果是这种情况有人知道这个限制是什么?我现在谷歌搜索40分钟没有成功. 也许我应该只使用Node.js? 解决方法
PHP“Native”
DOMDocument Docs及其小妹妹
SimpleXMLElement Docs没有硬化的大小限制,但它们受到允许PHP使用的内存的限制(见
PHP memory limitDocs).
此外,您不能假设加载100 MB XML或HTML文件将消耗相同大小的内存.它通常比文件大小更少的内存(例如,五分之一或十分之一或甚至,取决于XML,所以你不能只在这里说因子X而是你需要衡量自己的内容,如果你想获得精确的信息). 你在问题中给出的文件大小–3 MB – 我说的相当小.对于互联网上的HTML文件来说可能不小,但对于基于libxml的PHP扩展来说可能很小.使用 如果你有非常大的XML文件 – 那么通常是X(HT)ML – 比方说1.5千兆字节 – 使用DOMDocument进行解析会花费很多时间.然后使用 PHP库PHP Simple HTML DOM ParserDocs也没有强加特定的大小限制.但它不是PHP的二进制扩展,而是PHP用户空间.因此,您需要更好地了解该库的确切功能(参见 可以想象,PHP扩展可以比用PHP代码编写的PHP库更好地管理内存.特别是当涉及HTML Document对象模型的树结构时(这句话本身并不属实,但是开发这种优化的内存需要大量的工作和良好的设计,并不总是易于创建和维护). 但是:多年以来,没有必要再使用该库了.许多PHP用户不知道这一点,并且他们使用曾经流行的库找到过时的代码示例. PHP Simple Simple DOM Parser库甚至还在Stackoverflow上不时得到建议. 因此,我可以给出的最佳建议是:除非您不需要编写PHP 4兼容代码,否则根本不要使用该库,也不要关心它的限制.而是将代码移植到 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |