作者:雨天是最美 | 2023-08-08 08:35
在我的代码中,我使用openoffice将一些样式的xls文档转换为html.然后我使用解析表xml_parser_create
.问题是openoffice使用unclosed
和
tags 创建oldschool html ,它不会创建doctypes并且不引用属性.
我知道的PHP解析器不喜欢这个,并产生xml格式错误.我目前的解决方案是在解析文件之前对文件运行一些正则表达式,但这既不好也不快.
你知道一个(希望包括在内)php解析器,它不关心这些错误吗?或者也许是一种快速修复'破坏'html的方法?
1> Pascal MARTI..:
"修复"损坏的HTML的解决方案可能是使用HTMLPurifier (引用):
HTML Purifier是一个用PHP编写的符合标准的HTML过滤器库.
HTML Purifier不仅会删除所有恶意代码(更好地称为XSS),而且还会通过经过全面审核,安全且允许的白名单,
还可以确保您的文档符合标准
另一种想法可能是尝试使用(引用)加载HTML :DOMDocument::loadHTML
该函数解析字符串源中包含的HTML.与加载XML不同,HTML不必加载良好.
如果您尝试从文件加载HTML,请参阅DOMDocument::loadHTMLFile
.
推荐阅读
-
如何解决《正则表达式-如果组以javascript中的字符串开头,则不匹配组》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《Docker中的NGINX和Consul-Template》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《使用任意gulpfile名称运行gulp(不是gulpfile.js)》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Google登录requestIdToken返回null》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《计算文本文件中单词的出现次数》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《检测应用程序打开的UILocalNotification》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《QtQuickChartViewQML对象seg-faults在加载期间导致QML引擎段错误》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《我应该如何使用Google风格的Sphinx记录列表,选项和收益?》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《subprocess.run()中的CompletedProcess不返回字符串》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何在GoogleCloudPlatform上安装GodaddySSL证书》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《正确使用Microsoft.AspNet.Identity2.0》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《JavanullvsSwiftnil》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《我如何知道JavaStream收集(Collectors.toMap)是否已并行化?》经验,为你挑选了0个好方法。 ...
[详细]
-
如何解决《如何使用SpringRestTemplate使用Page<Entity>响应》经验,为你挑选了3个好方法。 ...
[详细]
-
如何解决《检查是否在可变参数模板参数包中传递了类型》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《将在线.csv文件合并到R中的数据框中》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《angularjs在今天设置默认日期输入》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《如何在多列中使用groupby转换》经验,为你挑选了1个好方法。 ...
[详细]
-
如何解决《Laravel5.1验证规则alpha不能占用空格》经验,为你挑选了2个好方法。 ...
[详细]
-
如何解决《如何使对象仅在three.js场景中对一个摄像机可见》经验,为你挑选了1个好方法。 ...
[详细]