2007年12月26日水曜日

正規表現の勉強

自分は正規表現が苦手で、よくつまづくことがあります。
こちらのページに「Java、PHP、.NETではじめる正規表現」という、いい感じの資料があったので印刷して電車の中で読みました。これでちょっとはレベルアップしたかな?
http://module.jp/works.html
第1章 正規表現のいろはにほへと - まずは基本を押さえよう(PDF: 169K)
第3章 PHP編 - preg系関数とereg系関数を学ぶ(PDF: 167K)
Appendix - 各言語正規表現対応表(PDF: 74K)
念のためこちらにもファイル置かせていただきます。


索引
※追記
これなんかも役に立ちそうです
すべての漢字を取り出す正規表現

2007年12月20日木曜日

Apacheで、特定URLへアクセスのみ別ログファイルに記録する

httpd.confをこんな感じに。

SetEnvIf Request_URI "^/aiueo/" aiuoe
CustomLog logs/access.log common env=!aiuoe
CustomLog logs/aiuoe.log common env=aiuoe

これでURLに「/aiueo/」を含むアクセスはaiueo.logに記録されるようになります。

2007年12月13日木曜日

PEAR::Pager で Digg っぽいページャを作る

http://cl.pocari.org/2007-12-02-1.html
Pear::Pagerは自分も愛用してますが、デフォルトだと味気ないデザインなので、こういうサンプルがあると助かります。今度使ってみようと思います。

2007年12月5日水曜日

PearのHTTP_REQUESTは便利だ!と改めて思った

とても便利なPearのHTTP_Request。自分もよく使っています。
今回仕事で、とあるウェブサイトのマイページ(https)にログインして、ログイン後のページの内容を取得する、というのを作ったんですが、HTTP_Requestならクッキーの値の取得、さらにクッキー情報の送信までできてしまう。
以前fsockopenを使って同じようなことをやったんですが、HTTP_REQUESTを使うと圧倒的にカンタンに実装できます。
そんなわけで、あらためてHTTP_REQUESTの便利さを思い知ったというわけです。
http://www.ironhearts.com/diary/archives/001397.html
http://www.bnote.net/php/pear/ref_http_request.shtml

2007年11月22日木曜日

phpでもデータ型を意識する

HTML_QuickFormを使って、

$form->addElement("select","test_select_box","",array(1=>1,2=>2,3=>3,4=>4,5=>5));
$form->setDefaults(array("test_select_box"=>"03"));

という感じのソースコードを過去に書いていたんですが、これが突然機能しなくなっていました。
具体的には、デフォルトが3にならないで、1になってしまうという症状。
最近のphpのバージョンアップで、データ型の判定が厳しくなったのが原因ではないかと推測しています。phpってデータ型の変換とかある程度勝手にやってくれて楽だったんですが、だんだんそのあたりも厳しくなってきたようです。
php3とか4の頃は「phpはコーディングが楽」っていうのがウリになっていましたが、最近はそうでもない感じですね。
適当なソースコードを書いてるとバージョンアップの時に大変なことになる恐れがあるので、そのあたり意識するようにしていきたいと思います。

2007年11月20日火曜日

2007年11月17日土曜日

registerElementTypeでQuickFormを拡張する

HTML_QuickFormを使い、フォームの確認画面(freezeした状態)で、数値にカンマを入れたいと思っていたら、ドンピシャのページを発見。
http://ml.php.gr.jp/pipermail/php-users/2006-September/030839.html
registerElementTypeを使うことでQuickFormのElementを拡張することができます。
これまでけっこうQuickFormを使い込んできましたが、これは知らなかった。こういうこともできるんですねぇ。
覚えておいて損はなさそうです。