跳转到主要内容

使用html5lib过滤器截断HTML

项目描述

html5lib-truncation 是一个 html5lib 过滤器实现,可以将HTML截断到特定长度进行显示,但永远不会破坏HTML标签。

有一个快捷函数,使用它最简单的方法

>>> from html5lib_truncation import truncate_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-truncation 的核心API是过滤器

import html5lib
from html5lib_truncation import TruncationFilter

etree = 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 上发送pull请求。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

html5lib-truncation-0.1.0.tar.gz (4.4 kB 查看哈希)

上传时间:

构建分布

html5lib_truncation-0.1.0-py2.py3-none-any.whl (8.0 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持