jigen, Hirotomo Kunimatsu
Tokyo, Japan
mailto: microformat hcard
top

phpでmicroformatsパーサー

phpでmicroformatsパーサーなんだか三連続でmicoroformats関連エントリーです。「PHP Classes」でたまたま見つけたmicroformatsのパーサ。

ずっと簡単なmicroformatsのパーサを試してみたかったので、「お!」と思って使ってみたのだが色々と問題が…。

とりあえず以下のように使える。簡単だー。と思っていたらその下の必要なものを見て欲しい。

<?php
include ('lib/MicroFormatParser.php');

$html = file('testpage.html');
$html = join("\n", $html);

$mfParser = new MicroFormatParser();

$mfParser->parserSetup (array (
    'hcard' => true,
    'hreview' => true,
    'hcalendar' => true,
    'reltag' => true,
));
$mf = $mfParser->parseSource($html);

echo '<pre>';
$mf->each('
    echo "<h1>".get_class($value)."</h1>";
    var_export($value);
    echo "<hr />";
');
?>
スポンサードリンク

必要な物

  1. PHP 4以上だが5では動かず
  2. DOM XML extension 必須
  3. 別途 xArray library packageが必要。

いやーーー。PHP5.xで動かないのかーーー。すんごく残念!


2006/12/31 14:02:49200614:02

PHPでブラウザ判別 - get_browser

(写真):PHPでブラウザ判別 - get_browserjavascriptファイルやcssファイル等をブラウザごとに振り分ける場合、もちろんcss、javascript単体でも出来るのですがサーバーサイドで行う事もできるとかなり便利です。PHPの場合はget_browserという標準関数があってユーザのプラットフォームの情報が取得できるのですが、結構用意が必要なのでちょっと紹介。

この関数USER_AGENTを判別をしてオブジェクトを返してくれるという関数なのですが、オプションを指定すると配列を返す事も可能みたいです。以下の例だとUSER_AGENTを配列に分割して返す形になります。

<?php
$platform = get_browser(null, true);
echo '<pre>';
print_r($platform);
echo '</pre>';
?>
<?php
Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9
    [majorver] => 0
    [minorver] => 9
    [css] => 2
    [frames] => 1
    [iframes] => 1
    [tables] => 1
    [cookies] => 1
    [backgroundsounds] =>
    [vbscript] =>
    [javascript] => 1
    [javaapplets] => 1
    [activexcontrols] =>
    [cdf] =>
    [aol] =>
    [beta] => 1
    [win16] =>
    [crawler] =>
    [stripper] =>
    [wap] =>
    [netclr] =>
)
?>
スポンサードリンク

こんな感じでjavascriptが可能かどうかや、ブラウザのメジャーバージョンまで返してくれるのでかなり便利なget_browserですが、サーバー側のphp.iniの設定が必要になります。

まず、Browser Capabilities Projectから最新のphp_browscap.iniファイルをダウンロードしてきます。リンク先の上から三番目のファイルです(Use only with PHP!と書いてある奴)。それをサーバーの任意の場所にアップロードしてphp.ini内で場所を指定してあげます。

[browscap]
browscap = /path/to/php_browscap.ini

上記設定をしてからサーバー再起動して使えるようになる。この情報を元に振り分けてあげればOKかなっと。


2006/12/24 19:00:49200619:00

最近知ったPHPのTips

(写真):最近知ったPHPのTipsなんだか最近PHPばかり触ってきていたので、公式マニュアルを読むことは少なくなってきましたがたま~~~に読むと新しい発見がありますなぁ。

ip2long, long2ip

この関数を使うとIPアドレス方式の「xxx.xxx.xxx.xxx」(xxxは0~255までの数字)という文字列を、int型に変換してくれる。データベースとかにIPのデータを保存する際にchar型とint型だと保存量が全然違うのでこれは便利(自分でやるのもいいけど、公式な関数があると更に便利)。

スポンサードリンク

highlight_file

ファイルを指定してファイルをPHPのソースコードをハイライト表示できる。

error_reporting

error_reporting(0)でエラー(Error)やワーニング(Warning)の表示を無くすと、表示処理が飛ばされる分パフォーマンス的には良いらしい。php.ini等の設定でも同じ事みたいですが、ファイル毎に設定できるのは便利。

chechdnsrrcheckdnsrr

emailアドレスチェックはchechdnsrr()checkdnsrr()を使うと良い感じ。Windows版は使えない。PEARのNet_DNSがその代わりになるみたい。


2006/12/05 17:20:49200617:20
Page 5 / 9« 最初...«34567»...最後 »
アリ「ここからメニューだすよ」
アリ「ごちそういっぱーい」
アリ「腹へったー」
アリ「働けー働けー♪」