左メニューに検索窓をつけました。
とりあえず自分のサイトコンテンツなどを検索できるようにしました。
データが精査されているかどうか怪しいですが、とりあえずということで。
NamazuのHTMLフィルタがおかしくて、PHPだとフィルタリングをうまくしてくれませんでした。
フィルタはHTMLフィルタが使用されているのですが、この中のembedded_filterのscriptタグの除去がまずいらしいです。
JavaScriptなどを外部ファイル化してタグ内に書かない場合は結構あると思うのですが、この場合だとフィルタリングがうまくできなくて、変なところまでテキストがカットされてしまいました。
例えばHTML内に2つ以上のscriptタグを書いた場合、1番目のscriptタグから2番目のscriptタグの閉じまでがカットされてしまうなどが発生してしまいました。
そこで、htmlフィルタのスクリプト内のembedded_filterでscriptタグの置換を行っている箇所を下記のように書き換えました。
$$contref =~ s/<script[^>]*>.*?<\/script>//igs;
#$$contref =~ s/<script.*>.*<\/script>//igs;
とりあえずこれでmknmzを実行したらきちんとscriptタグを除去してくれました。
でもこれでいいのかなぁ...
あともう少ししたら「Namazu for PHP」を公開したいと思います。まだどこかメモリリークとかしていたらまずいので。というよりメモリリークをしている箇所を探すのが大変です...
