用html5lib过滤器截断html
html5lib-truncation的Python项目详细描述
html5lib-truncation是一个html5lib筛选器实现,它可以 在显示中将HTML截断为特定长度,但不要打断HTML标记。
有一个快捷功能,最简单的使用方法:
>>>fromhtml5lib_truncationimporttruncate_html>>>>>>html=u'<p>A <a href="#">very very long link</a></p>'>>>truncate_html(html,8)u'<p>A <a href=#>very</a>'>>>truncate_html(html,8,break_words=True)u'<p>A <a href=#>very ve</a>'>>>truncate_html(html,20,end='...')u'<p>A <a href=#>very very...</a>'>>>truncate_html(html,20,end='...',break_words=True)u'<p>A <a href=#>very very lon...</a>'
安装
pip install html5lib-truncation
别忘了把它放进你的requirements.txt或setup.py中。
API概述
html5lib截短的核心api是过滤器:
importhtml5libfromhtml5lib_truncationimportTruncationFilteretree=html5lib.parse(u'<p>A <a href="#">very very long link</a></p>')walker=html5lib.getTreeWalker('etree')stream=walker(etree)stream=TruncationFilter(stream,20,end='...',break_words=True)serializer=html5lib.serializer.HTMLSerializer()serialized=serializer.serialize(stream)print(u''.join(serialized).strip())
输出是<p>A <a href=#>very very lon...</a>。
问题
如果要报告错误或其他问题,请在 GitHub Issues。
贡献
你可以派一辆拉力车来 GitHub。