我是一个完全的 python 菜鸟,所以请多多包涵。我想让 python 扫描一个 html 页面并用 UTF-8 兼容的东西替换 Microsoft Word 实体的实例。
我的问题是,你如何在 Python 中做到这一点(我已经用谷歌搜索了这个,但到目前为止还没有找到明确的答案)?我想涉足 Python 水域,所以我认为像这样简单的事情是一个很好的起点。看来我需要:
- 将从 MS Word 粘贴的文本加载到变量中
- 对内容运行某种替换功能
- 输出它
在 PHP 中,我会这样做:
$test = $_POST['pasted_from_Word']; //for example “Going Mobile”
function defangWord($string)
{
$search = array(
(chr(0xe2) . chr(0x80) . chr(0x98)),
(chr(0xe2) . chr(0x80) . chr(0x99)),
(chr(0xe2) . chr(0x80) . chr(0x9c)),
(chr(0xe2) . chr(0x80) . chr(0x9d)),
(chr(0xe2) . chr(0x80) . chr(0x93)),
(chr(0xe2) . chr(0x80) . chr(0x94)),
(chr(0x2d))
);
$replace = array(
"‘",
"’",
"“",
"”",
"–",
"—",
"–"
);
return str_replace($search, $replace, $string);
}
echo defangWord($test);
你会如何在 Python 中做到这一点?
编辑:嗯,好吧,暂时忽略我对 UTF-8 和实体的困惑。输入包含从 MS Word 粘贴的文本。弯引号之类的东西显示为奇怪的符号。我曾经尝试修复它的各种 PHP 函数并没有给我想要的结果。通过在十六进制编辑器中查看这些奇怪的符号,我发现它们对应于我上面使用的符号(0xe2、0x80 等)。所以我只是用 HTML 实体替换了奇怪的字符。因此,如果我上面的位已经是 UTF-8,那么从 MS Word 中粘贴了什么会导致奇数符号?
EDIT2:所以我开始学习一些关于 Python 的知识,发现我并不真正了解编码。我试图解决的问题可以简单地通过端到端的一致编码来处理。如果输入形式是 UTF-8,则存储输入的数据库是 UTF-8,输出它的页面是 UTF-8... 从 Word 粘贴可以正常工作。不需要特殊功能。现在,关于学习一点 Python ......