Help us understand the problem. What is going on with this article?

Shimple HTML DOM Parser でブログのjsonの情報から最初の記事のimgの srcを抜いてimagemagicで加工した

More than 3 years have passed since last update.

はじめまして。さいきゆみと申します。いつも読まして頂いて感謝しています。
恥ずかしながら、ちょっと自分でもこれは便利かなというものができましたのでご紹介します。

Bloggerが配信するJSON 私のブログの例をPHPのShimole HTML DOM Parserimgを抜くのは、わりと簡単で、JSON の構造を、こういうところで分析し、

本文であれば、

php
$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 させられます。
ちなみに…

php
$obj['feed']['entry'][0]['link'][4]['href']  ←リンク
$obj['feed']['entry'][0]['title']['$t']     ←タイトル

です。

例えばブログの最新の記事の写真を1枚だけ抜き出したいと思った場合、このデータを格納したものを findで imgを見つけます。

php
$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

これで抜けるのは、

html
<img src ="やたら長い.jpg" width="さまざま">

となってしまいますので、 src="ココ" が欲しい。と思うのですが、検索しても foreach 構文で抜きながら配列に入れるやり方ばかりが出てきて困ったのですが、

@$img = $html->find('img',0)->src;

と、なんのことはなかったです。ただ、これはエラーを叩くことがあるので、@をつけて制御します。

これを応用して、jQuery で画像を連番で出して並べ替え、加工してアニメにするなど様々なことができると思います。

ただ、imgLiquidはPHPで生成した画像ではうまく加工できないようです。
そこで、私が使っているhetemlサーバーでは imagemagic が使えるのでこれでやってみました。

PHP
@$img = $html->find( 'img', 0 )->src; 
$thumbnail = 'nowon.jpg';
$cmd = '/usr/bin/convert -thumbnail 220x220 '.$img.' '.$thumbnail;
system($cmd);
print "<img src=\"nowon.jpg\" />;

詳しくは私のブログもご参考にしてください。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away