3

我正在使用 HTML Tidy,并且使用了类似的东西

<a href="http://www.äöü.com/">Link</a>

它使

<a href="http://www.%C3%A4%C3%B6%C3%BC.de/">Link</a>

我如何告诉 Tidy 保持链接原样?

我的配置:

'output-xhtml' => true,
'numeric-entities' => true,
'hide-comments' => false,
'show-body-only' => true,
'doctype' => 'transitional',
'wrap' => 0,
'alt-text' => '',
'word-2000' => true,
'drop-proprietary-attributes' => true

我也尝试禁用fix-uri并设置char-encodingutf8,但无济于事。

我之所以要这样做是因为 Firefox 最近遇到了这种 URL 编码的问题。尝试在最新版本的 Firefox 中访问 www.v%C3%A4terwiderstand.de(我无法从中创建实际链接,因为 stackoverflow 似乎也无法处理带有变音符号的域),您将看到“找不到服务器”错误。不过,只需在 URL 栏中按 Enter 键即可正常打开网站。据我所知,这在其他浏览器中不会发生。

任何帮助,将不胜感激!

4

1 回答 1

1

我不确定你的 ENV 是什么样子的,但是这行得通;fix-uri=no|0这就是我所需要的。我添加了char-encoding良好措施的论点。Perl 的 tidy 包装了 tidy 库,因此这对于转换参数后的大多数/任何 tidy 使用应该是有效的。

#!/usr/bin/env perl
use strictures;
use utf8;
use open qw( :std :utf8 );
use HTML::Tidy;

print HTML::Tidy
    ->new({ "show-body-only" => 1,
            "char-encoding" => "utf8",
            "fix-uri" => 0, })
    ->clean(q{<a href="http://www.äöü.com/">Link</a>});

__END__
<a href="http://www.äöü.com/">Link</a>
于 2013-02-05T21:01:55.923 回答