[PHP]サイト内のページに外部のRSSを表示する

前にwordpressでRSSを取得して表示という記事を書いたが、普通のWebサイトでもRSSの表示は出来る。
ヘッドラインとしてトップページにブログのRSS表示するもよし、ニュースリンクとしてランダム表示するもよし。
使うのはWordpressで使われてるのと同じRSSパーサーMagpieRSSです。

手っ取り早く動作を見てみる::

  1. magpierss-0.72ダウンロードして解凍
  2. 表示したいページと同じ階層にフォルダUP
  3. 表示したいページをPHPにする
  4. 表示したいページにrequire('magpierss-0.72/rss_fetch.inc');を書く
  5. $rss = fetch_rss($url);として、$urlに表示したいRSSのフルパスを書く
  6. print_r($rss);を書く

cacheディレクトリは自動的に作成される。(magpierssフォルダ内の不必要なものは削除してもいい)
ずらずらっとRSSが表示されると思います。が、多分文字化けしてるはず。
“[PHP]サイト内のページに外部のRSSを表示する” の続きを読む

[PHP]テンプレートエンジンとベンチマーク

PHPで動作するテンプレートエンジンはちょっと使いたいだけならクラスタイプが便利ですが、速度が気になるところ。
Smarty Benchmarksで主なテンプレートエンジンのベンチマークサンプルが見れます。
使われてるベンチマークのソースも入手できるので自分で比較を試したい時に便利かも。

テンプレートベンチマーク
上の画像はvar_loop 50 iterationsの結果。
10と比べると順位が入れ替わってるんですが、smartyは高機能だから仕方ない感じだろうか。

“[PHP]テンプレートエンジンとベンチマーク” の続きを読む

[PHP]Wiki記法テキストのHTML置換サンプル

最近よくやるwiki記法っぽく書いたテキストのHTML置換サンプルソースです

  • [br]を改行タグに変換
  • ||で囲まれた文字にstrongタグを追加
  • ”で囲まれた文字にemタグを追加
  • [[説明文>リンク先のURL]] 説明文へリンクを張る
  • color(色名){文字} spanタグで文字色変更

“[PHP]Wiki記法テキストのHTML置換サンプル” の続きを読む

[PHP]オブジェクト指向プログラミング

初心者な自分用メモ、みたいなもんです…。
把握までの過程をメモってるので同じく初心者には分かりやすいかも?
考え方はJavacriptも同じだと思う。

名称

とりあえず呼び方がややこしい。初心者はまずここが覚えられない。

  • メソッド(method)
    クラス内にある関数(function)のこと
  • プロパティ(property)
    クラス内の変数(variable)のこと。メンバ変数も同じ意味
  • コンストラクタ(Constructor)
    初期化用のメソッド。オブジェクト生成時にやりたいことを入れる
  • 継承(Inheritance)
    クラスを元に新しいクラスを作る。上手いこと作らないとかえって面倒なことになるらしい

“[PHP]オブジェクト指向プログラミング” の続きを読む

[PHP]可変変数について

こういうことできないのか…と思ってたことが出来る事が判明。
$hoge1 $hoge2 $hoge3 … と末尾だけ違う連番の変数があって各変数をifで検証したいとき
ifに$hoge + $i って書いてforとかで繰り返したら早いんじゃね?と素人ながらに思う。
でも$hoge.$iとか書いても出来ないワケで、初心者は大抵挫折する。私も漏れなく挫折した。挫折して延々ifを繰り返したりするわけだ。

でも可変変数とういうものなら出来るらしい。今さっき知った。

$check = false;
for($i=1 ; $i<=6 ; $i++){   if(${"hoge".$i} != null){    $check = ture;    break;   } } if(!$check) echo "hoget!";[/php] こんなものがあっただなんてー!

[PHP]設定した期間だけNEWを表示する

新着記事にNEWをつけたりする感じのもの。
$intervalは表示する日数

$date=”2008/03/31″;
$interval=7;

echo “ログ”.$date.”
“;

if( time() – strtotime($date) < $interval*24*3600) echo "今日".date("Y/m/j",time())." NEW!"; else echo "今日".date("Y/m/j",time())." "; [/php] strtotime:英文形式の日付を Unix タイムスタンプに変換する