HTML 到 phpBB 兼容的 BBCode 转换器
项目描述
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's a wonderful world</strong>')
"[b]Hello [i]World[/i]. It's a wonderful world[/b]"
致谢
HTML2PHPBBCode 基于Vladimir Korsun 的html2bbcode包,该包在 BSD 许可下可用。
还使用了Matthew Barnett的regex包,可在 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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cd0551d347a3a3cd2dc11462b6845df6086e5e1a6cb2e8702e5650e00714b6c9 |
|
MD5 | f3fea3208bb9b8d31a3babb0f2ace0d9 |
|
布莱克2-256 | f9b45a73c0d36026e61c903a4bc0099515adce4e957304f2e25b485ff9988ac2 |
关
html2phpbbcode -0.1.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4113caa2b828f8c82ad3e4e783756694591381b6e4f9d26b97ceeb3730b31a21 |
|
MD5 | 54a86e926a14898fc0601a2ebde0fb97 |
|
布莱克2-256 | 1bf846ad3fe1f0179a9b50d90405accc203a786863504bfd168dae5c500f3062 |