什么是智能标签,如何从html中删除它们?

时间:2011-02-08 04:53:37

标签: php html parsing smart-tags

所以我还在研究这个解析器。今天我发现了一个标记为<st1:place w:st="on">的文档,Google告诉我这是一个Microsoft Office智能标记。

我想摆脱这些东西,但我找不到它们是什么或有多少它的列表?

如果它们都遵循<...:...>模式,则可以使用正则表达式轻松删除。

该文档没有doctype和.jsp扩展名,但是所有内容都在两个<html>标记之间,但不管是非标准的,我仍然需要解析它。

好吧这实际上不是一个大问题,但它会抛弃我的格式&amp;我错了。

2 个答案:

答案 0 :(得分:1)

这个正则表达式可以解决这个问题:

/<[:alnum:]+:[\s\S]*>/

它将在任何以&lt;打开的标签上触发然后是一个字母数字模式,后跟一个':'冒号。

可替换地:

/<\s*[:alnum:]+:[\s\S]*>/

允许标签的宽松格式化程序(开头&lt;和命名空间之间的空格)

答案 1 :(得分:-1)

我们想删除<w:smartTag>,下面列出的内容对我们有所帮助。

/<w:smartTag[^>]*>/