namazu-ml(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: コメント行の考慮
Masayasu Ishikawa <mimasa@xxxxxxxxxxxxx> wrote:
>html.pl の145行目あたりからの処理でコメントも一緒に削除されてるんじゃ
>ないかと。
>
># HTML タグをすべて削除,タグによって空白を入れたり入れなかったりする
>sub erase_html_tags ($) {
> my ($contents) = @_;
>
> 1 while ($$contents =~ s/<\/?([^<>]*)>/tag_to_space_or_null($1)/ge);
>}
このコードはかなり安易です。
$$contents =~ s/<!--\s.*?\s-->//gs;
$$contents =~ s/<\/?([A-Z]\w*)(?:\s+[A-Z]\w*(?:\s*=\s*(?:(["']).*?\2|[\w-.]+))?)*\s*>/tag_to_space_or_null($1)/gsixe;
とするともう少しまともになると思います。きちんと parse すると遅く
なるのでこのくらいで手を打ちましょう。手元の版ではそのようにしてお
きました。
# 2行目の正規表現は comp.lang.perl.misc の
# <6qf000$8b4$1@xxxxxxxxxxxxxxxxxxxxxx> から貰いました
-- Satoru Takabayashi