我正在使用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-encoding
设置为utf8
,但无济于事。
我之所以这样做是因为Firefox最近遇到了这种URL编码的问题。尝试在最新版本的Firefox中访问www.v%C3%A4terwiderstand.de(由于stackoverflow似乎无法处理带有变音符号的域,因此无法实现其中的实际链接),并且您将会看到“找不到服务器”错误。然后,只需点击输入URL栏即可打开网站。据我所知,这在其他浏览器中不会发生。
任何帮助将不胜感激!
答案 0 :(得分:1)
我不确定你的ENV是什么样的,但这有效; fix-uri=no|0
就是我所需要的一切。我添加了char-encoding
参数以获得良好的衡量标准。 Perl的整洁包装了整洁的lib,因此在转换参数后,这应该对大多数/任何整洁的用途有效。
#!/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>