<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>もしかして: blog.iron&#039;s.jp &#187; php</title>
	<atom:link href="http://blog.irons.jp/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.irons.jp</link>
	<description>No Creation, No Life.</description>
	<lastBuildDate>Mon, 09 Jan 2012 12:57:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Twitpic 等の画像投稿サービスのサムネイル画像の URL</title>
		<link>http://blog.irons.jp/2009/12/23/twitter_thumb_url/</link>
		<comments>http://blog.irons.jp/2009/12/23/twitter_thumb_url/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 14:08:32 +0000</pubDate>
		<dc:creator>irons</dc:creator>
				<category><![CDATA[記事]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.irons.jp/?p=225</guid>
		<description><![CDATA[ページ URL を書き換えるだけでサムネイル画像が表示できるもの Twitpic （ドキュメント） ページ: http://twitpic.com/&#60;image-id&#62; サムネイル画像: http://twitpic.com/show/&#60;size&#62;/&#60;image-id&#62; &#60;size&#62;: &#8220;mini&#8221; or &#8220;thumb&#8221; 携帯百景 ページ: http://movapic.com/&#60;image-id&#62; サムネイル画像: http://image.movapic.com/pic/&#60;size&#62;_&#60;image-id&#62;.jpeg &#60;size&#62;: &#8220;s&#8221; or &#8220;t&#8221; はてなフォトライフ ページ: http://f.hatena.ne.jp/&#60;user-id&#62;/YYYYMMDD&#60;image-id&#62; サムネイル画像:http://img.f.hatena.ne.jp/images/fotolife/&#60;user-idの1文字目&#62;/&#60;user-id&#62;/YYYYMMDD/YYYYMMDD&#60;image-id&#62;_&#60;size&#62;.jpg &#60;size&#62;: &#8220;120&#8243; or &#8220;m&#8221; Mobypicture （ドキュメント） ページ: http://moby.to/&#60;image-id&#62; サムネイル画像: http://moby.to/&#60;image-id&#62;:&#60;size&#62; &#60;size&#62;: &#8220;thumbnail&#8221;, &#8220;small&#8221;, &#8220;square&#8221; or &#8220;medium&#8221; yFrog （ドキュメント） ページ: http://yfrog.com/&#60;image-id&#62; サムネイル画像: http://yfrog.com/&#60;image-id&#62;.th.jpg PhotoShare 短縮URL: http://bctiny.com/p&#60;image-noのbase36&#62; ページ: http://www.bcphotoshare.com/photos/&#60;user-id?&#62;/&#60;image-no&#62; サムネイル画像: http://images.bcphotoshare.com/storages/&#60;image-no&#62;/&#60;size&#62;.jpg [...]]]></description>
			<content:encoded><![CDATA[<h3>ページ URL を書き換えるだけでサムネイル画像が表示できるもの</h3>
<ul>
<li><a href="http://twitpic.com/">Twitpic</a> （<a href="http://twitpic.com/api.do#thumbnails">ドキュメント</a>）
<ul>
<li>ページ: http://twitpic.com/&lt;image-id&gt;</li>
<li>サムネイル画像: http://twitpic.com/show/&lt;size&gt;/&lt;image-id&gt;
<ul>
<li>&lt;size&gt;: &#8220;mini&#8221; or &#8220;thumb&#8221;</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://movapic.com/">携帯百景</a>
<ul>
<li>ページ: http://movapic.com/&lt;image-id&gt;</li>
<li>サムネイル画像: http://image.movapic.com/pic/&lt;size&gt;_&lt;image-id&gt;.jpeg
<ul>
<li>&lt;size&gt;: &#8220;s&#8221; or &#8220;t&#8221;</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://f.hatena.ne.jp/">はてなフォトライフ</a>
<ul>
<li>ページ: http://f.hatena.ne.jp/&lt;user-id&gt;/YYYYMMDD&lt;image-id&gt;</li>
<li>サムネイル画像:http://img.f.hatena.ne.jp/images/fotolife/&lt;user-idの1文字目&gt;/&lt;user-id&gt;/YYYYMMDD/YYYYMMDD&lt;image-id&gt;_&lt;size&gt;.jpg
<ul>
<li>&lt;size&gt;: &#8220;120&#8243; or &#8220;m&#8221;</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://www.mobypicture.com/">Mobypicture</a> （<a href="http://developers.mobypicture.com/documentation/additional/inline-thumbnails/">ドキュメント</a>）
<ul>
<li>ページ: http://moby.to/&lt;image-id&gt;</li>
<li>サムネイル画像: http://moby.to/&lt;image-id&gt;:&lt;size&gt;
<ul>
<li>&lt;size&gt;: &#8220;thumbnail&#8221;, &#8220;small&#8221;, &#8220;square&#8221; or &#8220;medium&#8221;</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://yfrog.com/">yFrog</a> （<a href="http://code.google.com/p/imageshackapi/wiki/YFROGthumbnails">ドキュメント</a>）
<ul>
<li>ページ: http://yfrog.com/&lt;image-id&gt;</li>
<li>サムネイル画像: http://yfrog.com/&lt;image-id&gt;.th.jpg</li>
</ul>
</li>
<li><a href="http://www.bcphotoshare.com/">PhotoShare</a>
<ul>
<li>短縮URL: http://bctiny.com/p&lt;image-noのbase36&gt;</li>
<li>ページ: http://www.bcphotoshare.com/photos/&lt;user-id?&gt;/&lt;image-no&gt;</li>
<li>サムネイル画像: http://images.bcphotoshare.com/storages/&lt;image-no&gt;/&lt;size&gt;.jpg
<ul>
<li>&lt;size&gt;: &#8220;thumbnail&#8221;, &#8220;large&#8221;, &#8220;thumb68&#8243; or &#8220;thumb180&#8243;</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://img.ly/">img.ly </a>（<a href="http://img.ly/pages/API">ドキュメント</a>）
<ul>
<li>ページ: http://img.ly/&lt;image-id&gt;</li>
<li>サムネイル画像: http://img.ly/show/&lt;size&gt;/&lt;image-id&gt;
<ul>
<li>&lt;size&gt;: &#8220;thumb&#8221; or &#8220;mini&#8221;</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://twitgoo.com/">Twitgoo</a> （<a href="http://twitgoo.com/images/Twitgoo_API.pdf">ドキュメント</a>）
<ul>
<li>ページ: http://twitgoo.com/&lt;image-id&gt;</li>
<li>サムネイル画像: http://twitgoo.com/show/&lt;size&gt;/&lt;image-id&gt;</li>
<li>サムネイル画像: http://twitgoo.com/&lt;image-id&gt;/&lt;size&gt;
<ul>
<li>&lt;size&gt;: &#8220;thumb&#8221;, &#8220;mini&#8221; or &#8220;img&#8221;</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://pic.im/">pic.im</a> （<a href="http://pic.im/website/api">ドキュメント</a>）
<ul>
<li>ページ: http://pic.im/&lt;image-id&gt;</li>
<li>サムネイル画像: http://pic.im/website/thumbnail/&lt;image-id&gt;
</li>
</ul>
</li>
<li><a href="http://www.youtube.com/">YouTube</a> （<a href="http://code.google.com/apis/youtube/2.0/developers_guide_jsonc.html">ドキュメント</a>）
<ul>
<li>短縮URL: http://youtu.be/&lt;video-id&gt;</li>
<li>ページ: http://www.youtube.com/watch?v=&lt;video-id&gt;</li>
<li>ページ: http://www.youtube.com/watch#!v=&lt;video-id&gt;</li>
<li>サムネイル画像: http://i.ytimg.com/vi/&lt;video-id&gt;/&lt;size&gt;.jpg
<ul>
<li>&lt;size&gt;: &#8220;default&#8221;, or &#8220;hqdefault&#8221;</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://imgur.com/">imgur</a>
<ul>
<li>ページ: http://imgur.com/&lt;image-id&gt;.jpg</li>
<li>サムネイル画像: http://i.imgur.com/&lt;image-id&gt;&lt;size&gt;.jpg
<ul>
<li>&lt;size&gt;: &#8220;s&#8221; or &#8220;l&#8221;</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://lockerz.com/">Lockerz</a>（旧<a href="http://plixi.com/">Plixi</a>, その前は <a href="http://www.tweetphoto.com/">TweetPhoto</a>） （<a href="http://support.lockerz.com/entries/350297-image-from-url">ドキュメント</a>、<a href="http://support.lockerz.com/entries/480987-important-notice-photo-url-changing-on-april-30-2011">アナウンス</a>）
<ul>
<li>ページ: http://lockerz.com/s/&lt;photo-no&gt;</li>
<li>ページ: http://plixi.com/p/&lt;photo-no&gt;</li>
<li>ページ: http://tweetphoto.com/&lt;photo-no&gt;</li>
<li>サムネイル:  http://api.plixi.com/api/TPAPI.svc/imagefromurl?size=&lt;size&gt;&#038;url=&lt;ページURL&gt;
<ul>
<li>&lt;size&gt;: &#8220;thumbnail&#8221;, &#8220;small&#8221;, &#8220;mobile&#8221;, &#8220;medium&#8221; or &#8220;big&#8221;</li>
</ul>
</li>
</ul>
</li>
<li><a href="http://ow.ly/">Ow.ly</a>
<ul>
<li>ページ: http://ow.ly/i/&lt;image-id&gt;</li>
<li>サムネイル画像:  http://static.ow.ly/photos/thumb/&lt;image-id&gt;.jpg
                </li>
</ul>
</li>
<li><a href="http://instagr.am/">Instagram</a> （<a href="http://instagr.am/developer/embedding/">ドキュメント</a>）
<ul>
<li>ページ: http://instagr.am/p/&lt;shortcode&gt;/</li>
<li>サムネイル:  http://instagr.am/p/&lt;shortcode&gt;/media/?size=&lt;size&gt;
<ul>
<li>&lt;size&gt;: &#8220;t&#8221;, &#8220;m&#8221; or &#8220;l&#8221;</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>短縮 URL の展開や API の利用が必要なもの</h3>
<ul>
<li><a href="http://www.flickr.com/">flickr</a> （<a href="http://www.flickr.com/services/api/misc.urls.html#short">ドキュメント</a>）
<ul>
<li>短縮URL: http://flic.kr/p/&lt;base58-photo-id&gt;</li>
</ul>
</li>
<li><a href="http://brightkite.com/">brightkite</a> （<a href="http://groups.google.com/group/brightkite-api/web">ドキュメント</a>）
<ul>
<li>短縮URL:  http://bkite.com/XXXX</li>
<li>ページ: http://brightkite.com/objects/&lt;image-id&gt;</li>
<li>サムネイル画像: http://cdn.brightkite.com/&lt;image-idの先頭2文字&gt;/&lt;image-idの3-4文字目&gt;/&lt;image-id&gt;-&lt;size&gt;.jpg
<ul>
<li>&lt;size&gt;: &#8220;feed&#8221; or &#8220;big&#8221;</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>PHP コード例</h4>
<p>（flickr, brightkite の短縮 URL には未対応）<br />
[code lang='php' light=true]<br />
function getThumbnailHtml($status_text) {<br />
    $html = '';<br />
    $patterns = array(<br />
        // twitpic<br />
        array('/http:\/\/twitpic[.]com\/(\w+)/', '<img src="http://twitpic.com/show/thumb/$1" width="150" height="150" />'),</p>
<p>        // Mobypicture<br />
        array('/http:\/\/moby[.]to\/(\w+)/', '<img src="http://moby.to/$1:small" />'),</p>
<p>        // yFrog<br />
        array('/http:\/\/yfrog[.]com\/(\w+)/', '<img src="http://yfrog.com/$1.th.jpg" />'),</p>
<p>        // 携帯百景<br />
        array('/http:\/\/movapic[.]com\/pic\/(\w+)/', '<img src="http://image.movapic.com/pic/s_$1.jpeg" />'),</p>
<p>        // はてなフォトライフ<br />
        array('/http:\/\/f[.]hatena[.]ne[.]jp\/(([\w\-])[\w\-]+)\/((\d{8})\d+)/', '<img src="http://img.f.hatena.ne.jp/images/fotolife/$2/$1/$4/$3_120.jpg" />'),</p>
<p>        // PhotoShare<br />
        array('/http:\/\/(?:www[.])?bcphotoshare[.]com\/photos\/\d+\/(\d+)/', '<img src="http://images.bcphotoshare.com/storages/$1/thumb180.jpg" width="180" height="180" />'),</p>
<p>        // PhotoShare の短縮 URL<br />
        array('/http:\/\/bctiny[.]com\/p(\w+)/e', '\'<img src="http://images.bcphotoshare.com/storages/\' . base_convert("$1", 36, 10) . \'/thumb180.jpg" width="180" height="180" />\''),</p>
<p>        // img.ly<br />
        array('/http:\/\/img[.]ly\/(\w+)/', '<img src="http://img.ly/show/thumb/$1" width="150" height="150" />'),</p>
<p>        // brightkite<br />
        array('/http:\/\/brightkite[.]com\/objects\/((\w{2})(\w{2})\w+)/', '<img src="http://cdn.brightkite.com/$2/$3/$1-feed.jpg" />'),</p>
<p>        // Twitgoo<br />
        array('/http:\/\/twitgoo[.]com\/(\w+)/', '<img src="http://twitgoo.com/$1/mini" />'),</p>
<p>        // pic.im<br />
        array('/http:\/\/pic[.]im\/(\w+)/', '<img src="http://pic.im/website/thumbnail/$1" />'),</p>
<p>        // youtube<br />
        array('/http:\/\/(?:www[.]youtube[.]com\/watch(?:\?|#!)v=|youtu[.]be\/)([\w\-]+)(?:[-_.!~*\'()a-zA-Z0-9;\/?:@&#038;=+$,%#]*)/', '<img src="http://i.ytimg.com/vi/$1/hqdefault.jpg" width="240" height="180" />'),</p>
<p>        // imgur<br />
        array('/http:\/\/imgur[.]com\/(\w+)[.]jpg/', '<img src="http://i.imgur.com/$1l.jpg" />'),</p>
<p>        // TweetPhoto, Plixi, Lockerz<br />
        array('/http:\/\/tweetphoto[.]com\/\d+|http:\/\/plixi[.]com\/p\/\d+|http:\/\/lockerz[.]com\/s\/\d+/', '<img src="http://api.plixi.com/api/TPAPI.svc/imagefromurl?size=mobile&#038;url=$0" />'),</p>
<p>        // Ow.ly<br />
        array('/http:\/\/ow[.]ly\/i\/(\w+)/', '<img src="http://static.ow.ly/photos/thumb/$1.jpg" width="100" height="100" />'),</p>
<p>        // Instagram<br />
        array('/http:\/\/instagr[.]am\/p\/([\w\-]+)\//', '<img src="http://instagr.am/p/$1/media/?size=t" width="150" height="150" />'),<br />
    );</p>
<p>    foreach ($patterns as $pattern) {<br />
        if (preg_match($pattern[0], $status_text, $matches)) {<br />
            $url = $matches[0];<br />
            $html = preg_replace($pattern[0], $pattern[1], $url);<br />
            $html = '<a href="' . $url . '" target="_blank">' . $html . '</a>';<br />
            break;<br />
        }<br />
    }</p>
<p>    return $html;<br />
}<br />
[/code]</p>
<h3>関連リンク</h3>
<ul>
<li><a href="http://d.hatena.ne.jp/NeoCat/20091228/1262015896">FlickrのURLからサムネールを取得する &#8211; Okiraku Programming</a></li>
<li><a href="http://sites.google.com/site/showontwitter/">Show on Twitter</a>: Twitter 等のサイト上でサムネイルを表示する Google Chrome extension</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.irons.jp/2009/12/23/twitter_thumb_url/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

