用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.txtsetup.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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android应用程序在后台   如何使用java减去日期。sql。时间戳   在Eclipse中使用Tomcat和Maven的java抛出错误   java Runnable jar什么都不做,资源不导出   并发Java内存模型:volatiles和读/写重新排序   使用Morphia在MongoDB中进行java批量升级。可能吗?   java将自己创建的sqlite数据库复制到安卓失败   在java中使用嵌套循环解决消除?   地图上多个标记的java实时动画   java如何在J2EE web应用程序中从服务层调用DAO方法   java我只想浏览文件,并将其作为电子邮件中的文件。我应如何附加:   猜猜我在think Java中的数字是57   可以在java流中的groupingBy中使用foreach吗?   我的Java程序编译时没有任何错误,但不会完全运行