simplexml_load_file()でRSS1.0(dc:dateなど)を扱う

いつも忘れて、同じところで3回躓いたのでメモ。
HPにブログのヘッドラインを出したいときなどに便利なsimplexml_load_file()ですが、
RSS1.0を読み込んでくる場合、「dc:date」など「dc:」が入ったデータがそのままでは読み込めない。

なので、下記のように処理をする。

$blog = simplexml_load_file(’blog_url’)
$blog->item->children(”http://purl.org/dc/elements/1.1/”)->date;

例えば、「yyyy/mm/dd」形式で取得したいときはこんな感じ。

$blog = simplexml_load_file(’blog_url’)
foreach ($blog->item as $item) {
$date = $item->children(”http://purl.org/dc/elements/1.1/”)->date;
$date = date(’Y/m/d’, strtotime($date));
}


Tags:

Popularity: 17%

[POPFile] Becky! BkASPil に代わるスパム対策

※Becky!以外のメーラーでも使えます

1年ほど前にWindowsに戻ってきて以来、再び愛用中のBecky!ですが、
不満はスパム対策が少々メンドクサイところ。

しばらくBkASPil for Becky!2にお世話になっていたのですが、
残念なことに2011/2/13をもってサービスを終了してしまいました。

それに伴って、ここ半月くらい色々なプラグインを試してみたものの、精度が悪かったり、何より負荷が大きくなって落ちやすくなるものが多くて全く満足のいくものがなく、最悪メーラー変更も考えながらも、最後に試したのが、POPFile

POPFile は自動メール振り分けツールです。一旦、設定とトレーニングがきちんとされれば、あなたのパソコンのバックグラウンドで動き続け、到着したメールを読み取って、好きなように振り分けてくれます。ゴミメールを選り分けるといった簡単な仕事から、十数個のフォルダにメールを振り分けるといった複雑な仕事までこなすことができます。いわば、あなたの受信メールボックスを管理してくれるあなた専用のアシスタントです。

マニュアル通りに行えば、設定も非常に簡単で、
今のところ快適に振り分けを行ってくれています。
POPFileはベイズの定理を元に判定してくれているので、今後の成長が楽しみ。

Becky!以外のOutlookなどでも利用可能なので、迷惑メールでお困りの方にオススメ。

メモ1:POPFileの判定を簡単に訂正する為のBecky! Plug-in
メモ2:POPFileでの分割メールの対処方法


Tags:

Popularity: 18%

[CodeIgniter]mod_writeに伴う.htaccess設定

久々にプログラム系の事をやる機会があり、CodeIgniterというものを触ってみた。
数年前にcakePHPをやってみたものの、個人的にはあまりしっくりこなかったので、
PHPで手頃なフレームワークを探していたところ、
「低い学習コストと圧倒的な速さ」がウリとのことで少し触ってみることに。

で、初期設定を進めていく中で、
mod_writeを利用するために.htaccess設定をするのだが、
下記のようにする基本設定がマニュアルに通りにやっても何故かうまくいかない。

http://hogehoge.com/index.php/test/
→http://hogehoge.com/test/

マニュアルによると

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

とあるものの、何度やってもダメだったので、
「また、サーバ仕様の問題かなぁ」と思いながら、
RewiteEngineのことを調べてみたところ、
結構みんな適当な事を書いていてアテにならないため、
本家サイトで調べてみたところ、
[flags]の部分が結構大事であって、通常[R]とか[L]しか見かけなかったのだけど、
実はものすごく沢山あることが判明。

ということで、教訓をメモすると。

  1. 人のブログとかメモを鵜呑みにしない
  2. 当然のことのように、まずは本サイト(正式なマニュアル)を参照する

特に後者については英語がメンドクサイ(そもそも苦手)ということもあり、
ついついサボりがちになってしまうので、気をつけねば。

で、今回の解決策は、[flags]を[P]’proxy|P’ (force proxy)に変更すること。

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [P]

CodeIgniterの情報があんまりなかったことと、
あまりにもここを更新していなかったこともあり、
1年以上ぶり更新してみる。

どこかの誰かの役に立てば幸い。


Tags:

Popularity: 14%

[Mac].htaccessを編集するためのメモ

メインPCをMacBookAirに乗り換えて、早くも半年程が経過。
慣れるまでには多少の苦労があったものの、慣れてしまえばすごく快適。
特に個人的には Fetch + Jedit の連携でサーバのファイルをそのまま触れるのがお気に入り。
※Windows時代はDW(重くて嫌い)Filezilla(何故閉じた瞬間にアップロード、、)という事で苦労していたため。

そんな中、戸惑った事の一つが、.htaccessの扱い。
何も考えずにDLしたら消えてしまった。。
※Unixベースのシステムなので当然と言えば当然だけど。

で、色々と怪しいソフトを入れてみたりしたものの、常に全設定ファイルが表示されているのがかなり鬱陶しかったため、ここのところはターミナルで

  1. パス取得の為にフォルダをドラッグ
  2. ls -a
  3. mv .htaccess htaccess.txt

をやっていて、「何となくMacユーザっぽくていい!」と思いながらも、急いでいるときは不便。

そんなときに今回見つけたのがこれ。
http://www.apple.com/downloads/dashboard/developer/hiddenfiles.html
ダッシュボードなので、必要に応じてマイティマウスの両端を「ぎゅっ」として「ポチッ」と押すだけ(笑


Tags:

Popularity: 12%

[PEAR]HTML_QuickForm2 で Mail_RFC822 を利用する

引き続き自分用のメモ。今回はPEAR。
PEAR::HTML_QuickForm2を利用していたところ、mailのvalidateがない事が判明(単純に見つけられていない可能性もあり。)

$mail -> addRule( “regex”, “メールアドレスが不正”, “/正規表現/” );

という書き方をしようかとも思ったものの、メールアドレスの正規表現については、正解がないとも言われているくらいなので、どこまで厳しく書くのか迷ってしまうため中断。そして少し調べてみたところ、Mail_RFC822というものがあるらしいので、ここでの処理はそれに任せる事に決定。

実装方法は下記の二つを検討。

  1. PEAR/HTML/QuickForm2/Rule/ あたりに追加してライブラリを拡張
  2. とりあえず、今回だけ使えるように該当PHP内で完結

今回はお試しという事もあったので、とりあえずは「2.」を選択。

$mail -> addRule( “callback”, “メールアドレスが不正です”, “check_mail” );
function check_mail( $mail ) {
require_once( “Mail/RFC822.php” );
return Mail_RFC822::isValidInetAddress( $mail ) ? true: false;
}

シンプルに実装できたため、そこそこ満足。
PEARは何となくめんどくさいイメージがあって敬遠しがちになるけど、使っておいた方が良いのだろうなあとは常々思う。


Tags:

Popularity: 16%

Page 1 of 612345»...Last »