akkun_choi pedia
mindiaakkun_choi pedia見出し語

phpQuery

akkun_choi · 2010-02-20 更新

最初はZend_Dom_Queryを使おうとしたけど、これはユニットテスト用に作られただけなのでDOM操作には使えない。PHP標準のDOMDocumentは文字コードの指定がよくわからないので使いにくい。

というわけでこれを使ってみた。
Callbackクラス名前衝突したので、Callback.phpを読み込まないようにした。
でも日本語問題なく使えるので採用。

http://code.google.com/p/phpquery/

サンプル

>|php|
$phpQuery = phpQuery::newDocument($body);
// imgを画像変換スクリプトを通すように変換
foreach ($phpQuery->find('img') as $img){
$src = $img->getAttribute('src');
$parsed = parse_url($src);
$img->setAttribute('src',
$this->convertScript . $parsed['path']);
}
// youtube埋込を外部リンクに変換
foreach ($phpQuery->find('div.module_plugin_youtube') as $div){
$youtube = pq($div);
$value = $youtube->find('object param')->attr('value');
$youtube->html(
'<a href="' . $value . '" target="_blank">[Youtube]</a>');
}
return $phpQuery;

||<

関連する見出し語