タグを完全カットする方法は?

[上に] [前に] [次に]
兆(きざし) [E-Mail] [HomePage] 1998/12/08(火) 09:49:13
サイト内サーチをつくって、
見出しと記事本文のダイジェスト(記事先頭から200文字程度)を
表示するようにしているのですが、
該当記事中のタグがうまくはずせないため
見苦しい表示となってしまいます。

現在は半角スペースをカットし、<などに置き換えをして
対処していますが、タグを完全カットする方法はありますでしょうか?

infoseekなどをみるとうまくカットされていますよね。
Perlの正規表現でうまくカットできるものなのでしょうか?
どうかご教授ください。

B-Cus 1998/12/08(火) 14:28:40
タグをカットというのは、
 s/&/&/;
 s/</&lt;/;
 s/>/&gt;/;
ということではなくて、タグそのものを完全にカットということでしょうか。

それなら、
 s/<[^>]*>//g;
かなぁ。でもこれだと複数行にマッチしてくれないし…。

とほほさんのwwwsrch.cgi(http://www.tohoho-web.com/cgi-bin/wwwsrch.txt )は、
 s/<[^>]*(>|$)//g;
とやってみるたいだけど、これでタグの閉じ側がつぶせるかどうかわからないです。安易に
 s/<[^>]*(>|$)//g;
 s/^[^>]>//g;
などと書けばうまくいくのかな?

兆(きざし) [E-Mail] [HomePage] 1998/12/08(火) 14:48:19
[[解決]]
s/<(([^>]|\n)*)>//g;

上記のように書いたらうまくいくようです。
ありがとうございました。

[上に] [前に] [次に]