html2Text:转换特殊字符



所以首先,我不是在谈论python html2text,而是命令行工具:http://www.mbayer.de/html2text/

我正在使用此工具作为程序员的一部分来生成一些用于HTML文章的小型文本浏览。到目前为止,这是我使用的行:

html2text -utf8 -nobs -style pretty filename.html

不幸的是,我现在遇到了使用特殊字符的HTML代码,例如

ä

那些不会像预期的那样转换为"ä"甚至" ae"。

例如:

<p class="caption">Steve Ballmer, Jahrgang 56, wird zumindest auf diesem Bild auf 56 Jahre gesch&#xE4;tzt. </p>

应转换为:

Steve Ballmer, Jahrgang 56, wird zumindest auf diesem Bild auf 56 Jahre geschätzt.

但在这里产生这一行:

Steve Ballmer, Jahrgang 56, wird zumindest auf diesem Bild auf 56 Jahre gesch&#xE4;tzt.

文档说:

默认情况下,当提供-nometa时,HTML2Text将ISO 8859-1用于输入。指定此选项,使用UTF-8(用于输入和输出)。

因此,我尝试遗漏" -utf8"并使用" -nometa"。但仍然相同的结果:(我错过了一个选项吗?

提前帮助。

您是否尝试过(html)整洁?

tidy filename.html | html2text -utf8 -nobs -style pretty

也许包括抑制错误输出:

tidy filename.html 2>/dev/null | html2text -utf8 -nobs -style pretty

至少您的示例中的简单段落已完成为

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta name="generator" content=
"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org">
<title></title>
</head>
<body>
<p class="caption">Steve Ballmer, Jahrgang 56, wird zumindest auf
diesem Bild auf 56 Jahre gesch&auml;tzt.</p>
</body>
</html>

最新更新