Nov 12

逆引きrhaco(?)13: htmlソースからpタグの内容を取り出す

snippet rhaco | comment(0)

rhacoの強力な機能のうちの1つSimpleTagを使用します(この機能でrhacoにはまりました)。


Rhaco::import('tag.model.SimpleTag');
$src = "<body><div><p>foo</p></div><div><p>bar</p></div></body>";
$tag = new SimpleTag();
$tag->set($src);
$p_tags = $tag->getIn('p');
foreach($p_tags as $p_tag){
 echo $p_tag->getValue();
}

結果:
foobar

SimpleTagは非常に強力で、少々HTMLが崩れていても問題なく取得してくれますし、HTMLの一部でも扱ってくれます。ただし、ソース内の最初のタグから検索を始めるため
$src = "<div><p>foo</p></div><div><p>bar</p></div>";

の場合、結果は
foo

となり、上記のプログラムではbarを表示してくれません。

Nov 5

逆引きrhaco(?)11:ログを記録する

rhaco snippet | comment(0)

rhacoではログの書き込みは次のように行います。LoggerクラスはRhaco.phpの読み込み時に同時に読み込まれるのでimportする必要はありません。

Logger::error('エラーです');
Logger::warning('ワーニングです');
Logger::info('Noticeです');
Logger::debug('デバッグ情報です');
Logger::deep_debug('さらに詳しいログです');

全て静的に呼び出し出来ます。
後はsetup時にログを出力する設定にしておけばHTML上に書かせたり、ログファイルに書かせたり自由に出来ます。