我正在寻找一种方法,最好是在 中python
,但PHP
也可以,甚至是在线网站,来转换字符串,如
"Wählen"
变成一个字符串
"Wählen"
即用其 HTML 实体替换每个 ISO 8859-1 字符/符号。
我正在寻找一种方法,最好是在 中python
,但PHP
也可以,甚至是在线网站,来转换字符串,如
"Wählen"
变成一个字符串
"Wählen"
即用其 HTML 实体替换每个 ISO 8859-1 字符/符号。
echo htmlentities('Wählen', 0, 'utf-8');
^ PHP
PS:根据您需要编码字符串出现的位置了解参数:
// does not encode quotes
echo htmlentities('"Wählen"', 0, 'utf-8');
// encodes quotes
echo htmlentities('"Wählen"', ENT_QUOTES, 'utf-8');
像这样的东西
$html="Wählen";
$html = mb_convert_encoding($html, 'HTML-ENTITIES', 'ISO-8859-1');
// OR $html = htmlentities($html, ENT_COMPAT, 'ISO-8859-1');
echo $new = htmlspecialchars($html, ENT_QUOTES);
对于 Python3
>>> import html.entities
>>> reventities = {k:'&'+v+';' for v,k in html.entities.entitydefs.items()}
>>> "".join(reventities.get(i, i) for i in "Wählen")
'Wählen'
另一种(可能更快)方式
>>> toentity = {k: '&'+v+';' for k,v in html.entities.codepoint2name.items()}
>>> "Wählen".translate(toentity)
'Wählen'
Python:
# -*- coding: utf-8 -*-
from htmlentitydefs import codepoint2name
def uni_to_html(s):
new_s = ""
for c in s:
try:
new_s += '&{};'.format(codepoint2name[ord(c)])
except KeyError:
new_s += c
return new_s
print uni_to_html(u"Wählen") # Wählen