PerlでHTML文からテキスト文を抽出する法
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGHTML、XML文
↓
タグ除去
↓
プレーンテキスト
みたいなプログラムありませんか? どうかおながいします。
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG前に作った拙いプログラム張りますからちょっと待ってください。
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNG00091
NGNGwhile ($_ = <STDIN>) {
$_ =~ s/<[^>]*>//g;
print $_;
}
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG0012デフォルトの名無しさん
NGNGやってみろよ。
0013デフォルトの名無しさん
NGNG波
を
受
信
し
ま
す
た
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNGwhile((c=getchar()) != EOF)
if(c == '<') while((c=getchar()) != '>');
else putchar(c);
0016デフォルトの名無しさん
NGNG≫
≪
≫
(゜ρ゜)
強い電波が出ています
0017デフォルトの名無しさん
NGNGPerlは結構使えるっぽいけどどうよ?
http://pc.2ch.net/test/read.cgi/tech/991994996/
Perlについての質問箱
http://pc.2ch.net/test/read.cgi/tech/1017736187/
0018デフォルトの名無しさん
NGNG電波炸裂
0019デフォルトの名無しさん
NGNG0020デフォルトの名無しさん
NGNGごめんなさい。
0021デフォルトの名無しさん
NGNGここ数日板の攪拌をしてる人がいるみたい。
すぐ落ちるし気にしなくていいんでない。
0022デフォルトの名無しさん
NGNGつうか、きちんと動作するプログラム作りたいんだったら、
正規表現をLexerプログラムに翻訳しなおして、
微妙な境界条件や、エラー・リカバリをきちんと書くのが正道
0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNG# $tag_regex と $tag_regex_ は別途参照
$text_regex = q{[^<]*};
$result = '';
while ($str =~ /($text_regex)($tag_regex)?/gso) {
last if $1 eq '' and $2 eq '';
$result .= $1;
$tag_tmp = $2;
if ($tag_tmp =~ /^<(XMP|PLAINTEXT|SCRIPT)(?![0-9A-Za-z])/i) {
$str =~ /(.*?)(?:<\/$1(?![0-9A-Za-z])$tag_regex_|$)/gsi;
($text_tmp = $1) =~ s/</</g;
$text_tmp =~ s/>/>/g;
$result .= $text_tmp;
}
}
# Perlメモからのコピペ。よって
#
# 〜 糸冬 了 〜
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGちなみにHTML::Parserはw3cのlibwwwのパーサ(C)をベースに改良したものだ。
0029デフォルトの名無しさん
NGNGストリング文字列
キャラクター文字
サウンド音
イメージ画像
■ このスレッドは過去ログ倉庫に格納されています