Namazu-users-ja(旧)


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

meta タグの中身の全角記号を変換した後のエスケープ



斉藤と申します。

<meta name="sub_text" content="劇団”なまず”公演"> や、
<meta name="sub_text" content="公開講座<Cプログラミング>開催"> 
といったヘッダを持つHTMLファイルを mknmz でインデックスした場合、
「”」が 「"」 に、「<」 が 「<」 に変換されます。

そのため、html.pl の get_meta_tags() で content の中身を抽出するとき、
正常に抽出されません。

出力された NMZ.field.* を見ると、以下のようになっていました。
「content="劇団”なまず”公演"」 -> 「劇団」
content="公開講座<Cプログラミング>開催"> -> 「」(文字列なし)

mknmz と html.pl を追いかけてみたところ、
html.pl にファイルの中身が渡される前に、
半角文字に変換がなされているようですね。

現時点では、HTML文書の「<」などを予め別の文字に
置き換えることで対処していますが、
もっとスマートな解法があるのではないかと考え、投稿した次第です。

環境 : 
  System: linux
  Namazu: 2.0.10
  Perl: 5.00503
  NKF: module_nkf
  KAKASI: module_kakasi -ieuc -oeuc -w
  Coding System: euc

--
斉藤宏明
findout@xxxxxxxxxxx

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/