2007/08/26

[技術系]   HTMLをプレインテキストに

at 17:23JST
 
HTML::FormatText。
モジュールの名前すら忘れるのでメモがてらサンプル。

#!/usr/bin/perl 

use strict;

use HTML::TreeBuilder;
use HTML::FormatText;
use Jcode;

my $html = jcode( <<'_EOF_' )->euc; # EUCやUTF-8じゃないと当然化ける
<h1>ほげ</h1>
<table>
<tr>
<td>
1
</td>
<td>
hoge
</td>
</tr>
</table>
<hr>
<ul>
<li>ああああああ
<li><a
href="http://www.yahoo.co.jp/"
>いいいいいい</a>
</ul>
<p>
あああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ
</p>
_EOF_

my $tree = HTML::TreeBuilder->new->parse( $html );
$tree->eof();
foreach my $table ($tree->find_by_tag_name('table')) {$table->tag('p');}
foreach my $tr ($tree->find_by_tag_name('tr')) {$tr->tag('p');}
foreach my $td ($tree->find_by_tag_name('td')) {$td->tag('span');}

my $format = HTML::FormatText->new(
leftmargin => 0
);
print jcode( $format->format( $tree ) )->sjis;

関連しそうな過去記事:
さらに過去の記事
2009/04 (1)   2008/12 (3)   2008/11 (9)   2008/10 (10)   2008/09 (20)   2008/08 (2)   2008/07 (23)   2008/06 (16)   2008/05 (22)   2008/04 (11)   2008/03 (21)   2008/02 (20)   2008/01 (21)   2007/12 (32)   2007/11 (37)   2007/10 (46)   2007/09 (63)   2007/08 (33)   2007/07 (41)   2007/06 (81)   2007/05 (173)   2007/04 (168)   2007/03 (113)   2007/02 (123)   2007/01 (92)   2006/12 (111)   2006/11 (185)   2006/10 (20)  
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。