【发布时间】:2011-06-19 19:41:27
【问题描述】:
首先:我读过一般;不要在像这样的 XHTML 参数上使用 RegEx:RegEx match open tags except XHTML self-contained tags,我明白 RegEx 在嵌套的 XHTML 或 XML 节点上是如何失败的。
我不明白为什么单独操作 XML 的属性会破坏使用 RegEx。因此,一般规则似乎有例外。属性始终包含在以< 开头并以> 结尾的单个节点中,中间的任何其他< or > 都会破坏XML,因此不会发生这种情况。
现在我想清理它可能包含的任何微数据的 XHTML 字符串。即任何属性itemscope、itemtype、itemprop、itemid 和itemref。像这样的:
...
<body itemscope="itemscope" itemtype="http://schema.org/WebPage">
<div itemprop="maincontent">content</div>
...
在 PHP 中最好的方法是什么?
【问题讨论】:
-
如果你想从 HTML 中清除微数据属性,那么 HTMLPurifier 或 htmltidy 可能就足够了。两者都不知道 html5 属性并将其删除。
标签: php regex html xhtml microdata