NP_cles()

123456789101112131415161718192021222324252627282930

NP_Mobileをいじってみる

 
投稿者:hsur 投稿日時:2004-09-25 - 22:50
カテゴリー:Programming - - トラックバック(0)- Views: 161

NP_Mobileインストール自体ははすんなりできたのですが、記事が最後までちゃんと表示されませんでした。

これはcles::blogfancyUrlを採用していることや、NP_FootNoteなどをインストールしている関係で、HTMLタグの除去がうまく行えていないことが原因のようでした。ということで、PlugIn中のHTMLタグの除去処理部分を改造して、正常に表示が行えるようにしてみました*1

さらに、財団法人サークルクラブ協会さんで紹介されているこちらの方法を参考に、ケータイからアクセスした場合にはケータイサイトにリダイレクトされるようにしました。

diff -u NP_Mobile.php.org NP_Mobile.php

--- NP_Mobile.php.org +++ NP_Mobile.php @@ -11,10 +11,13 @@ $data = $item->body.$item->more; // ■不要な文字列の除去&変換 $data = str_replace('"', '', $data); - $data = ereg_replace('a href=https*://', 'a class=', $data); - $data = ereg_replace(' (id|class|target|title|style|name)=[[:alnum:][:space:]\+\$\;\?\.\W\w%,!#~*/:@&=_-]+', '', $data); - $data = ereg_replace('<(/*ul|/*ol|h[0-9])>', '', $data); - $data = ereg_replace('<(/*div|/*p|hr /*|br /|/li|/h[0-9])>', '<br>', $data); + $data = ereg_replace('</?(span|ul|ol|h[0-9]).*?/?>', '', $data); + $data = ereg_replace('<a name=.*? />', '', $data); + $data = str_replace('†', '@', $data); +// $data = ereg_replace('a href=https*://', 'a class=', $data); + $data = ereg_replace(' (id|class|target|title|style|name)=[[:alnum:][:space:]\+\$\;\?\.\W\w%,!#~*/:@&=_-]+?', ' ', $data ); + $data = ereg_replace('<(/?div|/?p|hr /?|br /?|/?li|/?h[0-9])>', '<br>', $data); + $data = ereg_replace('<br +/>', '<br>', $data); $data = ereg_replace('<br><br>', '<br>', $data); $data = str_replace('<li>', '@', $data); // ■アイテムの文字数を計算 @@ -25,7 +28,8 @@ // ■ページ分割 $ipage = getVar('ip'); $itemid = $item -> itemid; - $plk = "<a href=?itemid=$itemid&ip="; +// $plk = "<a href=?item/$itemid/?ip="; + $plk = "<a href=/i/item/$itemid/?ip="; $max = ceil($str / $maxLength); while ($ipage <= $max) { if ($ipage < 1) $ipage = 1;
  • *1: 厳密にはまだちょっと怪しいところもあります。

このエントリは役に立ちましたか?

  

トラックバックについて [policy]

Trackback URL:
Trackbacks
このエントリにトラックバックはありません

Comments [policy]

No comments yet

Add Comments

コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。

OpenID を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン