|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
||||||||||||||||||||||||||||||||||||||||||||
2008年06月14日(土) 旧暦 [n年日記] [更新:"2008/06/15 02:19:28"]#1 [Namazu] (File::MMagic) $magic->addMagicEntry の設定方法
恥ずかしながら、
実は namazu に filter を追加する時の
addMagicEntry の意味が良く分っていなかった。
sub add_magic ($) { my ($magic) = @_; # See perldoc File::MMagic or man 5 magic for the syntax of following line. # If the first line starts with <HTML or <html, it will be recognaized as # text/html; x-type=hoge $magic->addMagicEntry("1\tstring/c\tHTML\ttext/html; x-type=hoge"); return; }これは上の注に書いたように File::MMagic の説明を perldoc File::MMagic で見る か、更にその中に書いてある man 5 magic をすれば分る話で、 offset type (pattern) messageを" の場合には \t" か TAB で、また 'の場合なら TAB で' 区切って書く、というもの だということがやっと分った。もっともずうっと昔に mhonarch の例を見て、 見よう見真似で書いていたことはあるのだけれど。 上に示した例だと、<HTML あるいは <html と書いてあることを期待しているもので、 offset 1 なので二文字目から、 /c が付いているので大小文字の区別なく、 HTML という文字があれば(全て) text/html; x-type=hoge という文字を表示する(返す)、 という意味になる。実はこの場合には、全ての HTML 形式は x-type=hoge という形で 処理をしたい、ということ。追加した filter に、次のように書いておくと、 この magic 判定に合った場合には、ここに来るようになる。 sub mediatype() { return ('text/html; x-type=hoge'); } ( つっこみ )
|
最近の日記 2025年02月13日 ・dvipdfmx ICC profile format spec. version 4.3.0 2025年01月29日 ・ham/wsjtx 2025年01月27日 ・wip/wsjtx 5.4.2 2025年01月25日 ・ham/wsjtx 2025年01月15日 ・今更 advent calendar | ||