如何删除不必要的标签?
问题描述:
我有我的表字段“身体”(MySQL的),有很多像的条目:如何删除不必要的标签?
</p><p> </p><p>
</p><p>
</p><p>
很多的空间,新的生产线,& NBSP等如何去除呢?
这不行:
text.replace('</p><p> </p><p>', '</p><p>')
text.replace('</p><p>\n</p><p>', '</p><p>')
答
text = ''.join(text.split())
- 以后你可以用你的替代继续。
答
我会在一个语法树解析这样的文件,然后删除存在空的叶子。然后再次生成HTML文件。 不幸的是我不在python中工作,我无法为此指定有用的库。
答
试试这个正则表达式:
>>> import re
>>> text = '''</p><p> </p><p>
...
... </p><p>
... </p><p>
... '''
>>> re.sub(r'<p>(?: |\s|<br \/>)*?</p>\s*', '', text)
'</p><p>\n'
答
text.strip('> ').strip(' ').strip('\n').strip('\t')
这将是最好的方式来正确处理包含“
”的评论或属性值。但在大多数情况下,简单的搜索和替换也是可行的。 – 2012-03-14 08:28:38[lxml](http://lxml.de/)将是一个不错的选择 – Dikei 2012-03-14 09:21:02