繁体   English   中英

将所有字符(除了 [0-9A-Za-z ])转换为 HTML 十进制实体

[英]Convert all characters (except [0-9A-Za-z ]) to HTML Decimal Entities

我是 Python 新手,但使用 PHP 已经有一段时间了。 我正在寻找一种将所有字符( [0-9A-Za-z ]除外)转换为“HTML 十进制实体”的方法。 我一直在四处寻找,还没有找到合适的方法。 我正在寻找这个 PHP 方法在 Python 中的副本。

我发现的最接近的方法是 Python 中的这些方法,但它们不排除[0-9A-Za-z ]Python3 将所有字符转换为 HTML 实体以及如何将 *all* 字符转义为其相应的 html 实体名称和Python中的数字?

就像 PHP 方法一样,我想要一个函数,可以将除[0-9A-Za-z ]之外的每个字符(当前和未来)转换为“HTML 十进制实体”,并假定 UTF-8 字符编码。

例如, "abcABC123 &%¤#"会变成"abcABC123 &%¤#"

所以我想出了这个作为如何做的一个选项。

import re

def html_entity_encode_all(string):
    return ''.join(['&#{0};'.format(ord(char)) if re.search("[^0-9A-Za-z ]", char) else char for char in string])

print(html_entity_encode_all('abcABC123 &%¤#'))

输出: abcABC123 &%¤#

但是,我不知道是否有更好的方法或更快的处理方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM