簡體   English   中英

如何刪除不必要的標簽?

[英]How to remove unnecessary tags?

我在我的表(mysql)中有字段“body”,並且有很多條目,例如:

</p><p>  &nbsp;</p><p>

</p><p> 
   </p><p>

很多空間,新線,等等。如何刪除它?

這不起作用:

text.replace('</p><p>&nbsp;</p><p>', '</p><p>')
text.replace('</p><p>\n</p><p>', '</p><p>')

text = ''.join(text.split()) - 之后您可以繼續替換。

我會在語法樹中解析這樣的文件,然后刪除空葉。 然后會再次生成HTML文件。 不幸的是我不在python中工作,我無法為此指定有用的庫。

什么@Jurlie建議是一個很好的方法。 考慮將BeautifulSoup用於此purpouse。 它是一個非常成熟和強大的庫。

試試這個正則表達式:

>>> import re
>>> text = '''</p><p>  &nbsp;</p><p>
... 
... </p><p> 
...    </p><p>
... '''
>>> re.sub(r'<p>(?:&nbsp;|\s|<br \/>)*?</p>\s*', '', text)
'</p><p>\n'
text.strip('>&nbsp;').strip(' ').strip('\n').strip('\t')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM