はじめまして。さいきゆみと申します。いつも読まして頂いて感謝しています。
恥ずかしながら、ちょっと自分でもこれは便利かなというものができましたのでご紹介します。
Bloggerが配信するJSON 私のブログの例をPHPの**Shimole HTML DOM Parser**で imgを抜くのは、わりと簡単で、JSON の構造を、こういうところで分析し、
本文であれば、
$url="http://blog.kita-o.com/feeds/posts/default?alt=json";
$array =file_get_contents($url);
$obj = json_decode($array,true); // trueを入れるのがミソです
print ($obj['feed']['entry'][0]['content']['$t']);
と書くと0番目の本文をprint させられます。
ちなみに…
$obj['feed']['entry'][0]['link'][4]['href'] ←リンク
$obj['feed']['entry'][0]['title']['$t'] ←タイトル
です。
例えばブログの最新の記事の写真を1枚だけ抜き出したいと思った場合、このデータを格納したものを findで imgを見つけます。
$html = $obj['feed']['entry'][0]['content']['$t'];
$html= str_get_html($html);
include('simple_html_dom.php');//domの読み込み
$img = $html->find( 'img', 0 );
print $img
これで抜けるのは、
<img src ="やたら長い.jpg" width="さまざま">
となってしまいますので、 src="ココ" が欲しい。と思うのですが、検索しても foreach 構文で抜きながら配列に入れるやり方ばかりが出てきて困ったのですが、
@$img = $html->find('img',0)->src;
と、なんのことはなかったです。ただ、これはエラーを叩くことがあるので、@をつけて制御します。
これを応用して、jQuery で画像を連番で出して並べ替え、加工してアニメにするなど様々なことができると思います。
ただ、imgLiquidはPHPで生成した画像ではうまく加工できないようです。
そこで、私が使っているhetemlサーバーでは imagemagic が使えるのでこれでやってみました。
@$img = $html->find( 'img', 0 )->src;
$thumbnail = 'nowon.jpg';
$cmd = '/usr/bin/convert -thumbnail 220x220 '.$img.' '.$thumbnail;
system($cmd);
print "<img src=\"nowon.jpg\" />;
詳しくは私のブログもご参考にしてください。