3

私はHTMLTidyを使用していますが、

<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バーでEnterキーを押すだけで、Webサイトは正常に開きます。私の知る限り、これは他のブラウザでは起こりません。

どんな助けでもいただければ幸いです!

4

1 に答える 1

1

あなたのENVがどのように見えるかはわかりませんが、これは機能します。fix-uri=no|0私に必要だったのはそれだけです。char-encoding適切な措置のための引数を追加しました。Perl の tidy は tidy lib をラップするので、これは引数を変換した後、ほとんど/すべての 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 に答える