Namazu for PHPを組み込んで検索

| コメント() | トラックバック(0) |

左メニューに検索窓をつけました。
とりあえず自分のサイトコンテンツなどを検索できるようにしました。
データが精査されているかどうか怪しいですが、とりあえずということで。

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」を公開したいと思います。まだどこかメモリリークとかしていたらまずいので。というよりメモリリークをしている箇所を探すのが大変です...

トラックバック(0)

トラックバックURL: http://www.boundless-ocean.ne.jp/mt/mt-tb.cgi/250

Powered by Movable Type 4.27-ja
OpenID対応しています OpenIDについて

このブログ記事について

このページは、Tomochikaが2005年1月26日 22:58に書いたブログ記事です。

ひとつ前のブログ記事は「PSP買っちまいました(BlogPet)」です。

次のブログ記事は「PC不具合」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。