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