<?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>LEGGODT.COM &#187; PHP</title>
	<atom:link href="http://leggodt.com/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://leggodt.com</link>
	<description>Stay hungry, Stay foolish.</description>
	<lastBuildDate>Tue, 17 Jan 2012 09:40:44 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>WordTwitを少しかえてみた</title>
		<link>http://leggodt.com/2010/08/23/wordtwit%e3%82%92%e5%b0%91%e3%81%97%e3%81%8b%e3%81%88%e3%81%a6%e3%81%bf%e3%81%9f.html</link>
		<comments>http://leggodt.com/2010/08/23/wordtwit%e3%82%92%e5%b0%91%e3%81%97%e3%81%8b%e3%81%88%e3%81%a6%e3%81%bf%e3%81%9f.html#comments</comments>
		<pubDate>Mon, 23 Aug 2010 14:50:57 +0000</pubDate>
		<dc:creator>ましゃ</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[bit.ly]]></category>
		<category><![CDATA[LEGGODT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordTwit]]></category>
		<category><![CDATA[WP Tweet Button]]></category>
		<category><![CDATA[カスタマイズ]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://www.leggodt.com/?p=2551</guid>
		<description><![CDATA[これでうまく行くといいのだが。。。 うまくいったので追加で更新。 WordTwitはbit.lyのURLの処理にデフォルトでURLエンコードをしているらしい。 wp-content/plugins/wordtwit/wo <a href='http://leggodt.com/2010/08/23/wordtwit%e3%82%92%e5%b0%91%e3%81%97%e3%81%8b%e3%81%88%e3%81%a6%e3%81%bf%e3%81%9f.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>これでうまく行くといいのだが。。。</p>
<p>うまくいったので追加で更新。</p>
<p><span id="more-2551"></span>WordTwitはbit.lyのURLの処理にデフォルトでURLエンコードをしているらしい。</p>
<p>wp-content/plugins/wordtwit/wordtwit.phpの607行目あたり。</p>
<pre class="brush: php; title: ; notranslate">$result = twit_hit_server( 'http://api.bit.ly/shorten?version=2.0.1&amp;longUrl=' . urlencode( $link ) . '&amp;format=xml&amp;history=1&amp;login=' . $settings['bitly-user-name'] . '&amp;apiKey=' . $settings['bitly-api-key'], '', '', $output );</pre>
<p>このurlencodeを外して、</p>
<pre class="brush: php; title: ; notranslate">
$result = twit_hit_server( 'http://api.bit.ly/shorten?version=2.0.1&amp;longUrl=' . $link . '&amp;format=xml&amp;history=1&amp;login=' . $settings['bitly-user-name'] . '&amp;apiKey=' . $settings['bitly-api-key'], '', '', $output );
//$result = twit_hit_server( 'http://api.bit.ly/shorten?version=2.0.1&amp;longUrl=' . urlencode( $link ) . '&amp;format=xml&amp;history=1&amp;login=' . $settings['bitly-user-name'] . '&amp;apiKey=' . $settings['bitly-api-key'], '', '', $output );
</pre>
<p>という感じにする。</p>
<p>そうそう、これはパーマリンクに日本語を使っているときの対処法ね。</p>
<p>あきらめて日本語パーマリンクにすることにしたのでURLエンコードされてしまうと全く別のURLと解釈されてしまうので、Bit.lyで別の短縮URLになってしまうらしい。</p>
<p>というわけで、めでたくWP Twitter Buttonのカウントも正しくできたってわけです。</p>

<a href="http://twitter.com/?status=RT%20%40%3A%20WordTwit%E3%82%92%E5%B0%91%E3%81%97%E3%81%8B%E3%81%88%E3%81%A6%E3%81%BF%E3%81%9F%20-%20LEGGODT.COM%20http%3A%2F%2Fbit.ly%2Fz6hRab" class="tweet-this" ><img src="http://leggodt.com/wp-content/plugins/simple-tweet/img/tweet.gif" title="ツイート" alt="ツイート" />ツイート</a>]]></content:encoded>
			<wfw:commentRss>http://leggodt.com/2010/08/23/wordtwit%e3%82%92%e5%b0%91%e3%81%97%e3%81%8b%e3%81%88%e3%81%a6%e3%81%bf%e3%81%9f.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordTwitウィジェットのHTMLを変更</title>
		<link>http://leggodt.com/2010/08/21/wordtwit%e3%82%a6%e3%82%a3%e3%82%b8%e3%82%a7%e3%83%83%e3%83%88%e3%81%aehtml%e3%82%92%e5%a4%89%e6%9b%b4.html</link>
		<comments>http://leggodt.com/2010/08/21/wordtwit%e3%82%a6%e3%82%a3%e3%82%b8%e3%82%a7%e3%83%83%e3%83%88%e3%81%aehtml%e3%82%92%e5%a4%89%e6%9b%b4.html#comments</comments>
		<pubDate>Sat, 21 Aug 2010 06:12:20 +0000</pubDate>
		<dc:creator>ましゃ</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[LEGGODT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordTwit]]></category>
		<category><![CDATA[カスタマイズ]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://www.leggodt.com/?p=2501</guid>
		<description><![CDATA[WordTwitのウィジェット部分（最近のツイート）のHTML部分を変更した。 /wp-content/plugins/wordtwit/html内にあるtwitter.phpがそれ。 使用しているテンプレートによって変 <a href='http://leggodt.com/2010/08/21/wordtwit%e3%82%a6%e3%82%a3%e3%82%b8%e3%82%a7%e3%83%83%e3%83%88%e3%81%aehtml%e3%82%92%e5%a4%89%e6%9b%b4.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>WordTwitのウィジェット部分（最近のツイート）のHTML部分を変更した。</p>
<p>/wp-content/plugins/wordtwit/html内にあるtwitter.phpがそれ。</p>
<p>使用しているテンプレートによって変更箇所が違うと思うので細かい部分は割愛、とりあえず、近くにあるウィジェットのHTMLと比較して抜けているdivやらspanやらを足した。</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php global $tweets; ?&gt;
&lt;div&gt;&lt;h4&gt;&lt;span&gt;&lt;?php _e( &quot;最近のツイート&quot;, &quot;wordtwit&quot; ); ?&gt;&lt;/span&gt;&lt;/h4&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;?php foreach( $tweets as $tweet ) { ?&gt;
&lt;li&gt;&lt;?php echo str_replace( &quot;href=&quot;, &quot;target='_blank' rel='nofollow' href=&quot;, $tweet['content'] ); ?&gt; [&lt;a target=&quot;_blank&quot; rel=&quot;nofollow&quot; href=&quot;&lt;?php echo $tweet['link']['0_attr']['href']; ?&gt;&quot;&gt;#&lt;/a&gt;]&lt;/li&gt;
&lt;?php } ?&gt;
&lt;/ul&gt;
&lt;?php global $tweets; ?&gt;&lt;div&gt;&lt;h4&gt;&lt;span&gt;&lt;?php _e( &quot;最近のツイート&quot;, &quot;wordtwit&quot; ); ?&gt;&lt;/span&gt;&lt;/h4&gt;&lt;/div&gt;
&lt;ul&gt;
	&lt;?php foreach( $tweets as $tweet ) { ?&gt;
		&lt;li&gt;&lt;?php echo str_replace( &quot;href=&quot;, &quot;target='_blank' rel='nofollow' href=&quot;, $tweet['content'] ); ?&gt; [&lt;a target=&quot;_blank&quot; rel=&quot;nofollow&quot; href=&quot;&lt;?php echo $tweet['link']['0_attr']['href']; ?&gt;&quot;&gt;#&lt;/a&gt;]&lt;/li&gt;
	&lt;?php } ?&gt;&lt;/ul&gt;</pre>
<p>あと、タイトルのところにh2タグが使われていたのでh4に変更して、他のサイドバーウィジェットとあわせた感じ。</p>
<p>ちなみに、ファイルの文字コードをUTF-8にしないとはまるよ。（経験者はかく語りき。。。）</p>

<a href="http://twitter.com/?status=RT%20%40%3A%20WordTwit%E3%82%A6%E3%82%A3%E3%82%B8%E3%82%A7%E3%83%83%E3%83%88%E3%81%AEHTML%E3%82%92%E5%A4%89%E6%9B%B4%20-%20LEGGODT.COM%20http%3A%2F%2Fbit.ly%2Fy4RoFV" class="tweet-this" ><img src="http://leggodt.com/wp-content/plugins/simple-tweet/img/tweet.gif" title="ツイート" alt="ツイート" />ツイート</a>]]></content:encoded>
			<wfw:commentRss>http://leggodt.com/2010/08/21/wordtwit%e3%82%a6%e3%82%a3%e3%82%b8%e3%82%a7%e3%83%83%e3%83%88%e3%81%aehtml%e3%82%92%e5%a4%89%e6%9b%b4.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>タグの重複問題のその後</title>
		<link>http://leggodt.com/2010/08/18/%e3%82%bf%e3%82%b0%e3%81%ae%e9%87%8d%e8%a4%87%e5%95%8f%e9%a1%8c%e3%81%ae%e3%81%9d%e3%81%ae%e5%be%8c.html</link>
		<comments>http://leggodt.com/2010/08/18/%e3%82%bf%e3%82%b0%e3%81%ae%e9%87%8d%e8%a4%87%e5%95%8f%e9%a1%8c%e3%81%ae%e3%81%9d%e3%81%ae%e5%be%8c.html#comments</comments>
		<pubDate>Wed, 18 Aug 2010 13:23:57 +0000</pubDate>
		<dc:creator>ましゃ</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[LEGGODT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[カスタマイズ]]></category>
		<category><![CDATA[タグ]]></category>
		<category><![CDATA[プラグイン]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://www.leggodt.com/?p=2427</guid>
		<description><![CDATA[以前、「投稿のタイトルをMT風にアレンジするプラグイン」によってひきおこされた「タグの重複問題」の続報、というか、解決した。 タグの重複問題はすべてプラグインのソースコードに書かれていた 【sanitize_title】 <a href='http://leggodt.com/2010/08/18/%e3%82%bf%e3%82%b0%e3%81%ae%e9%87%8d%e8%a4%87%e5%95%8f%e9%a1%8c%e3%81%ae%e3%81%9d%e3%81%ae%e5%be%8c.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>以前、「<a href="http://www.leggodt.com/2009/09/26/mt.html">投稿のタイトルをMT風にアレンジするプラグイン</a>」によってひきおこされた「<a href="http://www.leggodt.com/2009/10/23/duplicate-tag.html">タグの重複問題</a>」の続報、というか、解決した。</p>
<p>タグの重複問題はすべてプラグインのソースコードに書かれていた</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
/*
* Plugin Name: MT Style Post Name
* Description: タイトルから英数字、ダッシュ、アンダーバーのみ抜き取ってスラッグに。日本語しか使われてないエントリはPost_IDを使う。
* Author: 449
* Plugin URI: http://pc10.2ch.net/test/read.cgi/blog/1163599919
* Version: 0.1
*
*/
add_filter('sanitize_title','sanitize_title_numalpha_only',9);

function sanitize_title_numalpha_only($title) {
  return preg_replace('/[^%a-zA-Z0-9 ¥(¥)_-]/', '-', $title);
}?&gt;
</pre>
<p>【sanitize_title】</p>
<p>というフィルターに原因があったのだった。</p>
<p><span id="more-2427"></span></p>
<p>この「<a href="http://codex.wordpress.org/Function_Reference/sanitize_title">sanitize_title</a>」というのは、記事のタイトルをスラッグとして使えるように2バイト文字をURLエンコードしたり、アルファベットをすべて小文字にするなど&#8221;サニタイズ（変更）&#8221;するのだけれども、これが悪さをしているようだ。</p>
<p>add_filterは、はじめの引数がフィルターのトリガーになって2番目の引数にある関数を実行するという関数で、この例で行くと「<a href="http://codex.wordpress.org/Function_Reference/sanitize_title">sanitize_title</a>」というのは「記事タイトル」をサニタイズするタイミングがトリガーになって関数を実行する。</p>
<p>しかし、今のWordpressではどうやら、「<a href="http://codex.wordpress.org/Function_Reference/sanitize_title">sanitize_title</a>」はタグの処理にも関わっているらしく、そのタグの処理の際に数字とアルファベット以外を取り除くので日本語があっていてもスラッグはIDになってしまい、別のスラッグとして扱うためタグの重複がおこってしまうのだった。</p>
<p>というわけで、もうめんどくさいので日本語そのままで行くことにしたのだった。なにげに最近のトレンドはそのままみたいで。<a href="http://www.amazon.co.jp/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.co.jp%2Fs%3Fie%3DUTF8%26x%3D0%26ref_%3Dnb%5Fsb%5Fnoss%26y%3D0%26field-keywords%3Dwordpress%26url%3Dsearch-alias%253Daps&amp;tag=lc0c-22&amp;linkCode=ur2&amp;camp=247&amp;creative=7399">Amazonとかもそうだし</a>。</p>

<a href="http://twitter.com/?status=RT%20%40%3A%20%E3%82%BF%E3%82%B0%E3%81%AE%E9%87%8D%E8%A4%87%E5%95%8F%E9%A1%8C%E3%81%AE%E3%81%9D%E3%81%AE%E5%BE%8C%20-%20LEGGODT.COM%20http%3A%2F%2Fbit.ly%2FymHovD" class="tweet-this" ><img src="http://leggodt.com/wp-content/plugins/simple-tweet/img/tweet.gif" title="ツイート" alt="ツイート" />ツイート</a>]]></content:encoded>
			<wfw:commentRss>http://leggodt.com/2010/08/18/%e3%82%bf%e3%82%b0%e3%81%ae%e9%87%8d%e8%a4%87%e5%95%8f%e9%a1%8c%e3%81%ae%e3%81%9d%e3%81%ae%e5%be%8c.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>プラグインを改造してみた。</title>
		<link>http://leggodt.com/2010/08/16/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e6%94%b9%e9%80%a0%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82.html</link>
		<comments>http://leggodt.com/2010/08/16/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e6%94%b9%e9%80%a0%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82.html#comments</comments>
		<pubDate>Mon, 16 Aug 2010 12:49:09 +0000</pubDate>
		<dc:creator>ましゃ</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[LEGGODT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.leggodt.com/?p=2346</guid>
		<description><![CDATA[今日は怒濤の更新ラッシュ。 アーカイブの表示のしかたがどうにも気に入らんと思って、いろいろ調べてみたら良さそうなプラグインを発見。 「Compact Archives」シンプルにアーカイブをまとめて表示してくれる。 ウィ <a href='http://leggodt.com/2010/08/16/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e6%94%b9%e9%80%a0%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>今日は怒濤の更新ラッシュ。</p>
<p>アーカイブの表示のしかたがどうにも気に入らんと思って、いろいろ調べてみたら良さそうなプラグインを発見。</p>
<p>「<a href="http://rmarsh.com/plugins/compact-archives/">Compact Archives</a>」シンプルにアーカイブをまとめて表示してくれる。</p>
<p>ウィジェットには対応していない物の、導入も簡単で、とても便利。</p>
<p>しかし、問題点は<a href="http://blog.daichifive.com/archives/124">こちらのサイト</a>に書かれている通り、数字が並ぶだけで何のことだかよくわからないことになる。なので、月とtitle属性の内容を変更してあげればいいと思ったので変更してみた。</p>
<p><span id="more-2346"></span></p>
<p>変更箇所はこちら。下の方にある内容を変更。</p>
<p>まずは「月」の表示と「title属性」。</p>
<pre class="brush: php; title: ; notranslate">$result .= '&lt;a title=&quot;'.$year.'年 '.$month.'月のアーカイブを表示&quot; href=&quot;'.get_month_link($year, $month).'&quot;&gt;'.$month_abbrev.'月&lt;/a&gt; ';</pre>
<p>次に「年」の表示のところは真ん中あたり</p>
<pre class="brush: php; title: ; notranslate">$result .= $before.'&lt;strong&gt;&lt;a title=&quot;'.$year.'年のアーカイブを表示&quot; href=&quot;'.get_year_link($year).'&quot;&gt;'.$year.'年&lt;/a&gt; : &lt;/strong&gt; ';</pre>
<p>ここも「title属性」をいれてみる。</p>
<p>表示の変更自体はこれで終了。</p>
<p>だけど、どうしても変更部分の日本語が文字化けしてしまってうまくいかなくてかなりの時間を使ってしまった。</p>
<p>だって月の表示とかはWordPressの方で自動的にローカライズされていると思ったから英語表記したらそれを変換する関数があると思ったんだもの。</p>
<p>ところが、このプラグインの場合は、わざわざUTF-8に変換しているらしい。なので、上の方に書いてある</p>
<pre class="brush: php; title: ; notranslate">$result = utf8_encode(get_compact_archive($style, $before, $after));</pre>
<p>という風になっているところを</p>
<pre class="brush: php; title: ; notranslate">$result = get_compact_archive($style, $before, $after);</pre>
<p>という風に、utf8_encodeの関数を省いてあげればそれでOK。WPの管理画面からプラグインの編集で編集した場合はファイルがUTF-8で保存されるっぽいので、これがあると2回変換してしまうのか文字化けする。<br />
変更をローカルPCで行いアップロードしてプラグインを有効にする場合は、ファイルのエンコードをUTF-8にして上げるといいかも。（試してないのでSift_jisでもうまくいくかもしれないけど）</p>
<p>まぁ、そんな感じで、とりあえずアーカイブの体はなしたかなと。</p>
<p>もう一つやりたいといえば、件数を表示するとか、とりあえず、それはまた今度で～。</p>

<a href="http://twitter.com/?status=RT%20%40%3A%20%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%92%E6%94%B9%E9%80%A0%E3%81%97%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82%20-%20LEGGODT.COM%20http%3A%2F%2Fbit.ly%2FzgHJff" class="tweet-this" ><img src="http://leggodt.com/wp-content/plugins/simple-tweet/img/tweet.gif" title="ツイート" alt="ツイート" />ツイート</a>]]></content:encoded>
			<wfw:commentRss>http://leggodt.com/2010/08/16/%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e6%94%b9%e9%80%a0%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Page not found (404) &#8211; ページが見つかりません</title>
		<link>http://leggodt.com/2009/06/17/page-not-found-404.html</link>
		<comments>http://leggodt.com/2009/06/17/page-not-found-404.html#comments</comments>
		<pubDate>Wed, 17 Jun 2009 02:02:18 +0000</pubDate>
		<dc:creator>ましゃ</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[LEGGODT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.leggodt.com/?p=1415</guid>
		<description><![CDATA[とりあえず、ページが見つからない言い訳を書いてみた。 あと、検索フォームも入れてみた。 まぁ、これでトラフィックを逃がさないぜーってことはないだろうけど、親切な人なら検索してくれるかなと。 WordPressのテンプレー <a href='http://leggodt.com/2009/06/17/page-not-found-404.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>とりあえず、ページが見つからない言い訳を書いてみた。</p>
<p>あと、検索フォームも入れてみた。</p>
<p>まぁ、これでトラフィックを逃がさないぜーってことはないだろうけど、親切な人なら検索してくれるかなと。</p>
<p>WordPressのテンプレートは思ったよりわかりやすい。<br />
まぁ、PHPで書かれているからだとは思うんですけどね。</p>
<p>ちなみに変更したページはこちら</p>
<p><a href="http://www.leggodt.com/404.html">http://www.leggodt.com/404.html</a></p>

<a href="http://twitter.com/?status=RT%20%40%3A%20Page%20not%20found%20%28404%29%20-%20%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%20-%20LEGGODT.COM%20http%3A%2F%2Fbit.ly%2FwGbjpf" class="tweet-this" ><img src="http://leggodt.com/wp-content/plugins/simple-tweet/img/tweet.gif" title="ツイート" alt="ツイート" />ツイート</a>]]></content:encoded>
			<wfw:commentRss>http://leggodt.com/2009/06/17/page-not-found-404.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPod touchのユーザーエージェント</title>
		<link>http://leggodt.com/2008/01/23/ipod-touch-user-agent.html</link>
		<comments>http://leggodt.com/2008/01/23/ipod-touch-user-agent.html#comments</comments>
		<pubDate>Wed, 23 Jan 2008 06:55:17 +0000</pubDate>
		<dc:creator>ましゃ</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Notes]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod touch]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://leggodt.net/2008/01/23/910</guid>
		<description><![CDATA[iPod touchを見ているといろいろ気になることがあるもので、今回はtouchに搭載しているSafariのユーザーエージェントを調べてみた。 調べ方はごく簡単 &#60;?php echo $agent = $_SER <a href='http://leggodt.com/2008/01/23/ipod-touch-user-agent.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>iPod touchを見ているといろいろ気になることがあるもので、今回はtouchに搭載しているSafariのユーザーエージェントを調べてみた。</p>
<p><span id="more-910"></span></p>
<p>調べ方はごく<a href="http://www.leggodt.com/test/useragent.php">簡単</a></p>
<blockquote><p>&lt;?php<br />
echo $agent = $_SERVER['HTTP_USER_AGENT'];<br />
?&gt;</p></blockquote>
<p>と記述するだけ</p>
<p>ちなみに、touchのユーザーエージェントは</p>
<blockquote><p>Mozilla/5.0 (iPod; U; CPU like Mac OS X;ja-jp) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3</p></blockquote>
<p>iPodとなっているところがポイントですな。あとCPU like Mac OS Xとか。</p>
<p>ちなみに、MacOSXのSafariは</p>
<blockquote><p>MacOSXSafari Mozilla/5.0 (Macintosh; U; Intel Mac OS X; ja-jp) AppleWebKit/523.10.6 (KHTML, like Gecko) Version/3.0.4 Safari/523.10.6</p></blockquote>
<p>こんな感じ。</p>
<p>ついでにiPhoneは</p>
<blockquote><p>Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3</p></blockquote>
<p>こんな感じらしいですよ。</p>
<p>最近、iPhone/touch向けのサイトとかもできているようで、いろいろと熱い感じ。</p>

<a href="http://twitter.com/?status=RT%20%40%3A%20iPod%20touch%E3%81%AE%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%20-%20LEGGODT.COM%20http%3A%2F%2Fbit.ly%2FyRijO0" class="tweet-this" ><img src="http://leggodt.com/wp-content/plugins/simple-tweet/img/tweet.gif" title="ツイート" alt="ツイート" />ツイート</a>]]></content:encoded>
			<wfw:commentRss>http://leggodt.com/2008/01/23/ipod-touch-user-agent.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHPのユーザー定義関数で複数の戻り値がほしいんだ！</title>
		<link>http://leggodt.com/2007/04/18/php-user-function-plural-return-value.html</link>
		<comments>http://leggodt.com/2007/04/18/php-user-function-plural-return-value.html#comments</comments>
		<pubDate>Wed, 18 Apr 2007 07:21:54 +0000</pubDate>
		<dc:creator>ましゃ</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://leggodt.net/2007/04/18/898</guid>
		<description><![CDATA[というわけで、ユーザー定義関数の戻り値というのはどうやら、原則1つらしく。 function hoge(){ return $hoge; } というような感じで、通常一つ帰ってくるのです。 そんなときに実は複数の値が帰っ <a href='http://leggodt.com/2007/04/18/php-user-function-plural-return-value.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>というわけで、ユーザー定義関数の戻り値というのはどうやら、原則1つらしく。</p>
<blockquote><p>function hoge(){<br />
return $hoge;<br />
}</p></blockquote>
<p>というような感じで、通常一つ帰ってくるのです。</p>
<p>そんなときに実は複数の値が帰ってきてほしいのアタイというときのちょっとしたテクニックです。</p>
<p><span id="more-898"></span></p>
<p>まず、オーソドックスなやり方として、戻り値を配列にするというやり方です。</p>
<blockquote><p>function hoge2(){<br />
return array(&#8220;a&#8221;,&#8221;b&#8221;);<br />
}</p></blockquote>
<p>と、いうようににすれば、hoge2()の結果が配列に入って戻ってくるので、それを分解して値を二つ使うことができる。</p>
<p>このやり方は、たくさんの値が戻ってきたり、数が決まっていない場合だとか、汎用な関数をつくるような場合には必須。</p>
<p>だけども、戻り値は2個とか3個の少数で何が戻ってくるか決まっている場合は、いちいち配列を分解して取り出すのがめんどくさい、いや、スマートじゃない。という場合は、参照渡しを利用します。</p>
<blockquote><p>function hoge3(&amp;$data1,&amp;$data2){<br />
$data1 = &#8220;a&#8221;;<br />
$data2 = &#8220;b&#8221;;<br />
return true;<br />
}</p></blockquote>
<p>というように、引数の前に『＆』をつけて渡してあげると、関数を呼び出した時に渡した$data1,$data2は関数内で処理をされた情報が反映されるというやり方です。この方法を応用すると、、</p>
<blockquote><p>function hoge($test,&amp;$test2){<br />
//$testの中身がbbbだった場合には、$testをaaaに変更してtureを返す<br />
if($test == &#8220;bbb&#8221;){<br />
$test = &#8220;aaa&#8221;;<br />
$test2 = &#8220;ccc&#8221;;<br />
return true;<br />
}else{<br />
return false;<br />
}<br />
}</p></blockquote>
<blockquote><p>&#8212;&#8212;&#8212;&#8212;-</p>
<p>if(hoge($test,$test2)){<br />
//$testの中身がbbbだった場合に,$test2を表示する<br />
echo $test2.&#8221;&lt;br&gt;&#8221;;<br />
}else{<br />
//$testの中身がbbbじゃなかった場合には$testを表示する<br />
echo &#8220;$test.&#8221;&lt;br&gt;&#8221;;<br />
}</p></blockquote>
<p>というような、戻り値がtrue/falseでほしいときに内部で処理した関するを同じ名前で使うことが可能になるわけです。配列を分解するよりは多少はスマートじゃないですか？<br />
もちろん、この参照渡しの変数を配列にすることも可能なので、ユーザー定義関数の内外で変数名を共有するために使うことも可能です。（むしろそれが参照渡しの本来の使用方法だと思いますが）</p>
<p>まぁ、きっかけは何にしろ、ユーザー定義関数の使い勝手がひろがりますね、というか、広がりました。</p>
<p>どのぐらい広がったかというと、ウサギ小屋から犬小屋ぐらい？<br />
<img title="笑う" src="http://www.leggodt.com/statics/TinyMCEforMT/js/tiny_mce/plugins/emotions/images/smiley-laughing.gif" alt="笑う" /></p>

<a href="http://twitter.com/?status=RT%20%40%3A%20PHP%E3%81%AE%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%AE%9A%E7%BE%A9%E9%96%A2%E6%95%B0%E3%81%A7%E8%A4%87%E6%95%B0%E3%81%AE%E6%88%BB%E3%82%8A%E5%80%A4%E3%81%8C%E3%81%BB%E3%81%97%E3%81%84%E3%82%93%E3%81%A0%EF%BC%81%20-%20LEGGODT.COM%20http%3A%2F%2Fbit.ly%2FxmgKd3" class="tweet-this" ><img src="http://leggodt.com/wp-content/plugins/simple-tweet/img/tweet.gif" title="ツイート" alt="ツイート" />ツイート</a>]]></content:encoded>
			<wfw:commentRss>http://leggodt.com/2007/04/18/php-user-function-plural-return-value.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>デザイナーのためのPHP</title>
		<link>http://leggodt.com/2007/04/05/php-for-designer.html</link>
		<comments>http://leggodt.com/2007/04/05/php-for-designer.html#comments</comments>
		<pubDate>Thu, 05 Apr 2007 09:08:10 +0000</pubDate>
		<dc:creator>ましゃ</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://leggodt.net/2007/04/05/896</guid>
		<description><![CDATA[やぁ、久しぶりに書く記事がPHP＋XMLだったりするましゃです。 以前の投稿でPHPによるXMLのパースについて書いたと思うけど、いや、書いたんだけど。 今回は新たにPHPのライブラリを入手。 PHPでのXMLのパースは <a href='http://leggodt.com/2007/04/05/php-for-designer.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>やぁ、久しぶりに書く記事がPHP＋XMLだったりするましゃです。</p>
<p>以前の投稿でPHPによるXMLのパースについて書いたと思うけど、いや、書いたんだけど。</p>
<p>今回は新たにPHPのライブラリを入手。</p>
<p><span id="more-896"></span></p>
<p>PHPでのXMLのパースはPEARのライブラリがあればできるのだけれども、弊社のサーバーではPEARが使えない、そして、PEARがない他のサーバーでも使えない。</p>
<p>PHP5であれば便利な関数で一発なのだけれども、まぁ、PHP5といえば、まだ導入していない。</p>
<p>ともすれば、なにか別のものを使うしかない。</p>
<p>それが、これ、<a href="http://keithdevens.com/software/phpxml" target="_blank">XML Library</a>。</p>
<p>世の中にはすごい人がいっぱいいるね。</p>
<p>このライブラリを埋め込むと、</p>
<blockquote><p>&lt;?php<br />
include(&#8216;xml.php&#8217;);<br />
$data = XML_unserialize($xml);<br />
?&gt;</p></blockquote>
<p>とするだけで、$xmlの中のXML形式の文字列を多次元配列として、階層を保持したままパースしてくれるのだ。 さらには。。。</p>
<blockquote><p>&lt;?php<br />
include(&#8216;xml.php&#8217;);<br />
$xml = XML_serialize($data);<br />
?&gt;</p></blockquote>
<p>とするだけで、 その逆？なのか？をしてくれるらしいぞ。</p>
<p>すごいぞ！keithdevens！</p>
<p>あ、そうそう、$xmlの中身は書くまでもXML形式の文字列でないとだめだぞ。XMLファイルのパスを書いているだけではパースしてくれないので、気をつけよう。</p>
<p>なぜなら、おいらははまったから<br />
<img title="照れる" src="http://www.leggodt.com/statics/TinyMCEforMT/js/tiny_mce/plugins/emotions/images/smiley-embarassed.gif" alt="照れる" /></p>

<a href="http://twitter.com/?status=RT%20%40%3A%20%E3%83%87%E3%82%B6%E3%82%A4%E3%83%8A%E3%83%BC%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AEPHP%20-%20LEGGODT.COM%20http%3A%2F%2Fbit.ly%2FyGxk1z" class="tweet-this" ><img src="http://leggodt.com/wp-content/plugins/simple-tweet/img/tweet.gif" title="ツイート" alt="ツイート" />ツイート</a>]]></content:encoded>
			<wfw:commentRss>http://leggodt.com/2007/04/05/php-for-designer.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>headerパワー恐るべし。</title>
		<link>http://leggodt.com/2007/02/15/header-power.html</link>
		<comments>http://leggodt.com/2007/02/15/header-power.html#comments</comments>
		<pubDate>Thu, 15 Feb 2007 04:59:35 +0000</pubDate>
		<dc:creator>ましゃ</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[文字コード]]></category>

		<guid isPermaLink="false">http://leggodt.net/2007/02/15/893</guid>
		<description><![CDATA[相変わらず日本語には苦労しておりますが、うちの会社のサーバーはPHPの処理がすべてEUCに統一されています。 まぁ、EUCで開発を行うときは何一つ苦労しないのだけども、どうしても違う文字コードじゃないといけない場合があり <a href='http://leggodt.com/2007/02/15/header-power.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<p>相変わらず日本語には苦労しておりますが、うちの会社のサーバーはPHPの処理がすべてEUCに統一されています。</p>
<p>まぁ、EUCで開発を行うときは何一つ苦労しないのだけども、どうしても違う文字コードじゃないといけない場合があります（うっかり違う文字コードで開発しちゃったとかなんだとか）</p>
<p>そんなときは.htaccessさんの力に頼るのですが、対外は.htaccessさんの力があれば事足ります。</p>
<p>がしかし、IE6だけは.htaccessさんのちからもなぜか及ばず、PHPファイルが、EUCではき出されてしまいます。 （CharsetがEUCって書いていなくて、違うものになっていても）</p>
<p>そんなときはPHPのコードの初っぱなに</p>
<blockquote><p>header(&#8216;Content-Type: text/html; charset=HOGEHOGE);</p></blockquote>
<p>と書いてあげるとうまくいきました。</p>
<p>頼むよIE。。<br />
<img title="Yell" src="http://www.leggodt.com/statics/TinyMCEforMT/js/tiny_mce/plugins/emotions/images/smiley-yell.gif" alt="Yell" /></p>

<a href="http://twitter.com/?status=RT%20%40%3A%20header%E3%83%91%E3%83%AF%E3%83%BC%E6%81%90%E3%82%8B%E3%81%B9%E3%81%97%E3%80%82%20-%20LEGGODT.COM%20http%3A%2F%2Fbit.ly%2FxmkrIN" class="tweet-this" ><img src="http://leggodt.com/wp-content/plugins/simple-tweet/img/tweet.gif" title="ツイート" alt="ツイート" />ツイート</a>]]></content:encoded>
			<wfw:commentRss>http://leggodt.com/2007/02/15/header-power.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>知らなかったPHP謎のメモ</title>
		<link>http://leggodt.com/2007/02/15/php-memo.html</link>
		<comments>http://leggodt.com/2007/02/15/php-memo.html#comments</comments>
		<pubDate>Thu, 15 Feb 2007 04:15:55 +0000</pubDate>
		<dc:creator>ましゃ</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://leggodt.net/2007/02/15/892</guid>
		<description><![CDATA[if(empty($hoge)){ nanikasyori A; }else{ nanikasyori B; } $hogeにfalseが入っているときにもemptyとしてnanikasyori Aが実行されてしまう。  <a href='http://leggodt.com/2007/02/15/php-memo.html'>[...]</a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>if(empty($hoge)){</p>
<p>nanikasyori A;</p>
<p>}else{</p>
<p>nanikasyori B;</p>
<p>}</p></blockquote>
<p>$hogeにfalseが入っているときにもemptyとしてnanikasyori Aが実行されてしまう。</p>

<a href="http://twitter.com/?status=RT%20%40%3A%20%E7%9F%A5%E3%82%89%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9FPHP%E8%AC%8E%E3%81%AE%E3%83%A1%E3%83%A2%20-%20LEGGODT.COM%20http%3A%2F%2Fbit.ly%2FAhZRHF" class="tweet-this" ><img src="http://leggodt.com/wp-content/plugins/simple-tweet/img/tweet.gif" title="ツイート" alt="ツイート" />ツイート</a>]]></content:encoded>
			<wfw:commentRss>http://leggodt.com/2007/02/15/php-memo.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

