Skip to main content

HTML 到 phpBB 兼容的 BBCode 转换器

项目描述

构建状态 PyPI 版本 执照

HTML2PHPBB代码

HTML2PHPBBCode 是一个 Python 3 包,可用于解析 HTML 代码并将其转换为与 phpBB 兼容的 BBCode。

用法

>>> from html2phpbbcode.parser import HTML2PHPBBCode
>>> parser = HTML2PHPBBCode()
>>> parser.feed('<ul><li>Hello</li><li>World</li></ul>')
'[list][*]Hello[*]World[/list]'
>>> parser.feed('<ol><li>one<li>two</ol>')
'[list=1][*]one[*]two[/list]'
>>> parser.feed('<a href="https://water.org">Water.org</a>')
'[url=https://water.org]Water.org[/url]'
>>> parser.feed('<a href="mailto:info@water.org">Mail Water.org</a>')
'[email=info@water.org]Mail Water.org[/email]'
>>> parser.feed('<strong>Hello <i>World</i>. It&#39;s a wonderful world</strong>')
"[b]Hello [i]World[/i]. It's a wonderful world[/b]"

致谢

HTML2PHPBBCode 基于Vladimir Korsun 的html2bbcode包,该包在 BSD 许可下可用。

还使用了Matthew Barnettregex包,可在 Python Software Foundation License 下获得。

该代码还包括一些来自phpBB公告板软件的正则表达式。为 Python 兼容性做了一些小改动。phpBB 代码在GNU GPL v2.0下可用。

与 html2bbcode 的区别

此包与 html2bbcode 的不同之处如下:

  • 生成的 BBCode 遵循 phpBB 的BBCode 指南中描述的语法。
  • <b>, <i>, <u>, <s>, <ol>HTML 标签也受支持。
  • <font>size属性处理已更改,以便映射到合理的 BBCode 大小值。
  • 如果链接的href属性<a>使用mailto:协议,则使用[email]BBCode 标签。
  • 如果链接的href属性<a>既不是电子邮件也不是有效的 http/https URL,则链接将转换为 BBCode 中的纯文本。
  • 解析器删除过多的空格,例如标签之间的换行符:<p>Hello</p>\n<p>World</p> (TODO:使用W3C 规范规则)

安装

该软件包在PyPI上可用,可以使用以下命令安装:

pip install html2phpbbcode

从源代码安装也是一种选择:

python3 setup.py install

测试

pytest用于测试。只需pytest在项目目录中运行即可执行测试。

下载文件

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

源分布

html2phpbbcode-0.1.4.tar.gz (5.2 kB 查看哈希

已上传 source

内置分布

html2phpbbcode-0.1.4-py3-none-any.whl (5.9 kB 查看哈希

已上传 py3