Namazu-win32-users-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: --html-split で得られるタイトル



田村と申します。

自己レスになりますが、htmlsplit.pl をいじってみて、
少しだけ改善しましたので報告いたします。
Namazu のバージョンは 2.0.12 です。

htmlsplit.pl の140行目の下に1行追加しました。

    $prev_anchored =~ s/\s+$//;
    $prev_anchored =~ s/<!--(.*)-->//;    # 追加した行

これでアンカータグの内容からコメントを削除してくれるので
<A NAME="bar"><!-- --></A> のような場合、$prev_anchored が
空になり、以降の行で $title にNAME属性の値を追加してくれるように
なりました。

ところが JIS (iso-2022-jp) で書かれた HTML 文書の場合、htmlsplit.pl の
get_title 関数の戻り値が "no title" となってしまい、
<TITLE>foo</TITLE>
<A NAME="bar"><!-- --></A>
のような内容の文書の場合、検索結果に現れるタイトルが
no title : bar
となってしまいました。Shift_JIS や euc-jp で書かれた文書については
foo : bar と期待通りに出てきました。

しかし、html_split オプションをつけなかった場合、すなわち、最初に
html.pl の get_title 関数を通ると思われますが、この場合だと
戻り値は TITLE タグに囲まれた部分となって、JIS で書かれた HTML 文書でも
正常に検索タイトルを表示してくれます。

html.pl と htmlsplit.pl 双方の get_title 関数の内容は重み文字列が
あるかないかぐらいで、他はそんなに変わらないと見ているのですが…

引き続き、ご教授の程、よろしくお願い申し上げます。


(株)島精機製作所 システム開発部
田村孝彦 (Takahiko TAMURA)
takat@xxxxxxxxxxxxxxxx
TEL +81-73-474-8220
FAX +81-73-474-8276