2

不適切な HTML (Microsoft Word からコピーされたものなど) を取得して、適切にフォーマットされた HTMLに解析できる Perl モジュールはありますか? HTML::Tidyを見てきましたが、 CPAN でひどいレビューを受けています。基本的にコマンド ライン バージョンの tidy のラッパーであるカスタム レガシー モジュールがあります (HTML::Tidy とほとんど同じように見えます) が、ファイルをディスクに書き込んで読み込むので、パフォーマンスが大幅に向上する可能性があります。ペナルティ。確かに、Perl の優れたテキスト解析機能を使用すると、これを正しく行うためのより良い方法がありますか?

4

1 に答える 1

1

2つのこと:

1) tidyに代わるものは実際にはありません。ほとんどの人にとって仕事をするからです。あなたにとって不適切なコマンドライン ツールの動作はありますか? おそらく、それがうまくいかない理由の例を提示していただければ、問題をよりよく理解できるでしょう。

2) パフォーマンスに関してopen2は、ディスクの往復を避けるために tidy を呼び出すようにラッパーを変更することを検討してください。

use IPC::Open2;

my $pid = open2(\*FROM_TIDY, \*TO_TIDY, '/usr/bin/tidy')
    or die "couldn't open";

# give tidy our html and close the handle to tell it we're done
print(TO_TIDY $html_string);
close(TO_TIDY);

# read in the tidy html
while (<FROM_TIDY>) {
    print;
}
close(FROM_TIDY);
于 2008-10-30T18:22:20.113 に答える