<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>Webサイト運営ブログ &#187; PHPソース</title>
	<atom:link href="http://blog.olivesystem.com/tag/php%e3%82%bd%e3%83%bc%e3%82%b9/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.olivesystem.com</link>
	<description>HTML,CSS,PHPプログラミングと書籍レビュー</description>
	<lastBuildDate>Sun, 25 Sep 2011 01:57:27 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/tag/php%e3%82%bd%e3%83%bc%e3%82%b9/feed" />
		<item>
		<title>[メモ]WordPressの新規ユーザ登録時のメールにCCやBCCを含む方法</title>
		<link>http://blog.olivesystem.com/1954.html</link>
		<comments>http://blog.olivesystem.com/1954.html#comments</comments>
		<pubDate>Sat, 23 Jul 2011 07:13:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webづくり]]></category>
		<category><![CDATA[PHPソース]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.olivesystem.com/?p=1954</guid>
		<description><![CDATA[WordPressの新規ユーザ登録時に送信される確認メールにCCやBCCを実行する方法です。 WordPressのメール送信はwp_mail()という関数を使っています。 ユーザ登録時もこれによって確認メールが送信されて [...]]]></description>
			<content:encoded><![CDATA[<p>WordPressの新規ユーザ登録時に送信される確認メールにCCやBCCを実行する方法です。<br />
<span id="more-1954"></span><br />
<img src="http://blog.olivesystem.com/wp-content/uploads/0000015-251x300.jpg" alt="" title="000001" width="251" height="300" class="alignnone size-medium wp-image-1955" /></p>
<p>WordPressのメール送信はwp_mail()という関数を使っています。<br />
ユーザ登録時もこれによって確認メールが送信されています。</p>
<p>WordPressのリファレンスを見ると、<a href="http://codex.wordpress.org/Function_Reference/wp_mail" title="" target="_blank">wp_mail</a>は以下のようになっています。</p>
<pre class="brush: php; title: ;">
wp_mail( $to, $subject, $message, $headers, $attachments );
</pre>
<p>$toは送信者のメールアドレス、$subjectは件名、$messageはメール文面、$headersにCc:やFrom:を指定することができます。</p>
<p>さて、問題はこの<a href="http://codex.wordpress.org/Function_Reference/wp_mail" title="" target="_blank">wp_mail</a>が何処のファイルで実行されているかということです。<br />
最初はwp-login.phpを探しましたが見つからず、ソースを辿っていくとpluggable.phpで実行されていることがわかりました。</p>
<p>pluggable.phpにて1200～1280行目あたりにあるfunction wp_new_user_notification内でのwp_mailを改造します。</p>
<pre class="brush: php; title: ;">
wp_mail($user_email, sprintf(__('[%s] Your username and password'), $blogname), $message);
</pre>
<p>とあるのを</p>
<pre class="brush: php; title: ;">
$headers_text = &quot;Bcc: hoge@hoge.com&quot;;
wp_mail($user_email, sprintf(__('[%s] Your username and password'), $blogname), $message, $headers_text);
</pre>
<p>と指定します。あとはアップロードすればよいだけです。<br />
尚、サーバーにあるpluggable.phpファイルをダウンロードして改造しましょう（バージョンアップで内容が変更されてる可能性があるため）。</p>
<p><br class="h15" /><br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/10%E6%97%A5%E3%81%A7%E3%81%8A%E3%81%BC%E3%81%88%E3%82%8B-WordPress-%E5%85%A5%E9%96%80%E6%95%99%E5%AE%A4-%EF%BC%BBWordPress-3-x%E5%AF%BE%E5%BF%9C%EF%BC%BD/dp/4798123129%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798123129" target="_blank"><img src="http://ecx.images-amazon.com/images/I/61C1NclEl9L._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/10%E6%97%A5%E3%81%A7%E3%81%8A%E3%81%BC%E3%81%88%E3%82%8B-WordPress-%E5%85%A5%E9%96%80%E6%95%99%E5%AE%A4-%EF%BC%BBWordPress-3-x%E5%AF%BE%E5%BF%9C%EF%BC%BD/dp/4798123129%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798123129" target="_blank">10日でおぼえる WordPress 入門教室 ［WordPress 3.x対応］</a></p>
	<p><em>著者／訳者：</em>さわだえり</p>
	<p><em>出版社：</em>翔泳社( 2011-05-17 )</p>
	<p><em>定価：</em>￥ 2,940</p>
	<p><em>Amazon価格：</em>￥ 2,940</p>
	<p>大型本 ( 320 ページ )</p>
	<p>ISBN-10 : 4798123129</p>
	<p>ISBN-13 : 9784798123127</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.olivesystem.com/1954.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/1954.html" />
	</item>
		<item>
		<title>[下ネタで覚えるPHP]投稿フォームに卑猥な漢字1文字を挿入れたらエラー表示したい</title>
		<link>http://blog.olivesystem.com/1947.html</link>
		<comments>http://blog.olivesystem.com/1947.html#comments</comments>
		<pubDate>Thu, 07 Jul 2011 06:19:42 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webづくり]]></category>
		<category><![CDATA[PHPソース]]></category>
		<category><![CDATA[下ネタPHP]]></category>

		<guid isPermaLink="false">http://blog.olivesystem.com/?p=1947</guid>
		<description><![CDATA[投稿フォームに卑猥な漢字だけ入れるのは勘弁してほしい時ってあるよね。 ifで弾けばいいんだけど、漢字1文字で「性」とか「膣」などといった表現だと際限ないよね。 そこで、PHPのmb_strlenとpreg_matchで漢 [...]]]></description>
			<content:encoded><![CDATA[<p>投稿フォームに卑猥な漢字だけ入れるのは勘弁してほしい時ってあるよね。<br />
ifで弾けばいいんだけど、漢字1文字で「性」とか「膣」などといった表現だと際限ないよね。<br />
<span id="more-1947"></span><br />
<img src="http://blog.olivesystem.com/wp-content/uploads/1197801_52364537-300x200.jpg" alt="" title="1197801_52364537" width="300" height="200" class="alignnone size-medium wp-image-1929" /></p>
<p>そこで、PHPのmb_strlenとpreg_matchで漢字1文字だけならエラー文を出すようにするよ。</p>
<p>まずは文字数を数えるのに<a href="http://jp.php.net/manual/ja/function.mb-strlen.php" title="" target="_blank">mb_strlen</a>を使うよ。</p>
<pre class="brush: php; title: ;">
$text = htmlspecialchars($_POST['text'], ENT_QUOTES);
$text_count = mb_strlen($text);
</pre>
<p>でも、これだけだと漢字やひらがなだとうまく文字数を取得できないんだ。<br />
だから、<a href="http://jp.php.net/manual/ja/function.mb-detect-encoding.php" title="" target="_blank">mb_detect_encoding</a>をかましたあとに数えちゃう。</p>
<pre class="brush: php; title: ;">
$text = htmlspecialchars($_POST['text'], ENT_QUOTES);
$encode = mb_detect_encoding($text);
$text_count = mb_strlen($text, $encode);
</pre>
<p>次は<a href="http://jp.php.net/manual/ja/function.preg-match.php" title="" target="_blank">preg_match</a>で漢字かどうか判定するよ。</p>
<pre class="brush: php; title: ;">
preg_match(&quot;/^[一-龠]+$/u&quot;, $text);
</pre>
<p>まとめると次のようになるよ。</p>
<pre class="brush: php; title: ;">
$text = htmlspecialchars($_POST['text'], ENT_QUOTES);
$encode = mb_detect_encoding($text);
$text_count = mb_strlen($text, $encode);
if($text_count==1 &amp;&amp; preg_match(&quot;/^[一-龠]+$/u&quot;, $text)){
     echo &quot;漢字1文字しかいれてねーじゃねーか！&quot;;
}
</pre>
<p>文字判定は以下のページが参考になるよ。</p>
<ul>
<li><a href="http://www.otchy.net/20090128/php-chartype-judgment-in-utf8/" title="" target="_blank">PHP で日本語のひらがなとカタカナと漢字を判別する方法 [UTF-8編]</a></li>
<li><a href="http://phpspot.org/blog/archives/2006/12/php_67.html" title="" target="_blank">「すべての漢字を取り出す正規表現」をPHPで試す、を正しく行う:phpspot開発日誌</a></li>
</ul>
<p><br class="h15"><br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88PHP-PERFECT-3-%E5%B0%8F%E5%B7%9D-%E9%9B%84%E5%A4%A7/dp/4774144371%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4774144371" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51fbxZn8HnL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/%E3%83%91%E3%83%BC%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88PHP-PERFECT-3-%E5%B0%8F%E5%B7%9D-%E9%9B%84%E5%A4%A7/dp/4774144371%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4774144371" target="_blank">パーフェクトPHP (PERFECT SERIES 3)</a></p>
	<p><em>著者／訳者：</em>小川 雄大 柄沢 聡太郎 橋口 誠 </p>
	<p><em>出版社：</em>技術評論社( 2010-11-12 )</p>
	<p><em>定価：</em>￥ 3,780</p>
	<p><em>Amazon価格：</em>￥ 3,780</p>
	<p>大型本 ( 592 ページ )</p>
	<p>ISBN-10 : 4774144371</p>
	<p>ISBN-13 : 9784774144375</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.olivesystem.com/1947.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/1947.html" />
	</item>
		<item>
		<title>[下ネタで覚えるPHP] forとforeachは逝ったらテクノブレイク！</title>
		<link>http://blog.olivesystem.com/1936.html</link>
		<comments>http://blog.olivesystem.com/1936.html#comments</comments>
		<pubDate>Sun, 08 May 2011 01:39:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webづくり]]></category>
		<category><![CDATA[PHPソース]]></category>
		<category><![CDATA[下ネタPHP]]></category>

		<guid isPermaLink="false">http://blog.olivesystem.com/?p=1936</guid>
		<description><![CDATA[「はぁはぁ」いい続ける限り同じ処理したいけど、「逝く」と言ったら処理を止めたいなぁと思ったら次の関数を使いましょう。 PHPのforeachもしくはforで繰り返し処理を行います。 この両者の違いは、簡単にいうと、for [...]]]></description>
			<content:encoded><![CDATA[<p>「はぁはぁ」いい続ける限り同じ処理したいけど、「逝く」と言ったら処理を止めたいなぁと思ったら次の関数を使いましょう。<br />
<span id="more-1936"></span><br />
<img src="http://blog.olivesystem.com/wp-content/uploads/1197801_52364537-300x200.jpg" alt="" title="1197801_52364537" width="300" height="200" class="alignnone size-medium wp-image-1929" /></p>
<p>PHPの<a href="http://php.net/manual/ja/control-structures.foreach.php" title="" target="_blank">foreach</a>もしくは<a href="http://php.net/manual/ja/control-structures.for.php" title="" target="_blank">for</a>で繰り返し処理を行います。</p>
<p>この両者の違いは、簡単にいうと、foreachは要素があるかぎり処理をします。</p>
<pre class="brush: php; title: ;">
foreach(元要素 as 置き換え要素){
       処理内容。置き換え要素でだしちゃう○～
}
</pre>
<p>元要素があるかぎり同じ処理を繰り返します。<br />
一方、forのほうは指定した回数まで処理をします。</p>
<pre class="brush: php; title: ;">
for(開始位置; 終了条件; 開始位置から増やすよ){
       処理内容。終了条件になるまで繰り返してだしちゃう○～
}
</pre>
<p>そこで、たとえば次のように記述します。</p>
<pre class="brush: php; title: ;">
$str = array(
       'はぁはぁ', 'はぁはぁ', 'はぁはぁ', 'はぁはぁ', 'はぁはぁ', 'はぁはぁ', '逝く', 'はぁはぁ', 'はぁはぁ'
);
//--- foreachの場合
foreach($str as $value){
       print $value;
}
//--- forの場合
for($i=0; $i&lt;count($str); $i++){
      print $str[$i];
}
</pre>
<p>となりますが、これだと、foreachもforも「逝く」と言っても「はぁはぁ」し続けます。<br />
補足ですが、count()は$strの中を数えてます。上の例だと9になりますね。</p>
<p>「逝く」で処理を止めるには、テクノブレイクさせます。</p>
<pre class="brush: php; title: ;">
//--- foreachの場合
foreach($str as $value){
       print $value;
       if($value==&quot;逝く&quot;){
              break; //テクノブレイク
       }
}
//--- forの場合
for($i=0; $i&lt;count($str); $i++){
      print $str[$i];
       if($value==&quot;逝く&quot;){
              break; //テクノブレイク
       }
}
</pre>
<p><a href="http://www.php.net/manual/ja/control-structures.break.php" title="" target="_blank">break</a>を使って処理が終了します。その宣言をする条件として、ifで「逝く」が出たらテクノブレイクするようにしてます。</p>
<p>わかってると思いますが、テクノブレイクは私が名づけた名称であって、正式な名称ではありませんので、プログラミング現場で発言したら赤面することになりますわよ。オホホホホ</p>
<p><br class="h15"><br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/PHP-%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AC%E3%82%B7%E3%83%94-PROGRAMMER%E2%80%99S-RECiPE-%E9%88%B4%E6%9C%A8/dp/4798119865%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798119865" target="_blank"><img src="http://ecx.images-amazon.com/images/I/518bklf0j0L._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/PHP-%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AC%E3%82%B7%E3%83%94-PROGRAMMER%E2%80%99S-RECiPE-%E9%88%B4%E6%9C%A8/dp/4798119865%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798119865" target="_blank">PHP 逆引きレシピ (PROGRAMMER’S RECiPE)</a></p>
	<p><em>著者／訳者：</em>鈴木 憲治 安藤 建一 山田 直明 八木 照朗 山本 義之 河合 勝彦 </p>
	<p><em>出版社：</em>翔泳社( 2009-06-30 )</p>
	<p><em>定価：</em>￥ 2,730</p>
	<p><em>Amazon価格：</em>￥ 2,730</p>
	<p>単行本（ソフトカバー） ( 768 ページ )</p>
	<p>ISBN-10 : 4798119865</p>
	<p>ISBN-13 : 9784798119861</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.olivesystem.com/1936.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/1936.html" />
	</item>
		<item>
		<title>[下ネタで覚えるPHP] mb_substrを使って一般人が気づかない下ネタをつぶやこう</title>
		<link>http://blog.olivesystem.com/1906.html</link>
		<comments>http://blog.olivesystem.com/1906.html#comments</comments>
		<pubDate>Sat, 07 May 2011 05:04:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webづくり]]></category>
		<category><![CDATA[PHPソース]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[ツイッター]]></category>
		<category><![CDATA[下ネタPHP]]></category>

		<guid isPermaLink="false">http://blog.olivesystem.com/?p=1906</guid>
		<description><![CDATA[ツイッターで普通に下ネタをつぶやくと、フォロワー減ったり仕事に支障がでたり大変ですよね。 けれど、それはPHPerなら万事解決します。 PHPにmb_substr関数というのがあるのをご存知でしょうか？ これはざっくりと [...]]]></description>
			<content:encoded><![CDATA[<p>ツイッターで普通に下ネタをつぶやくと、フォロワー減ったり仕事に支障がでたり大変ですよね。<br />
けれど、それはPHPerなら万事解決します。<br />
<span id="more-1906"></span><br />
<img src="http://blog.olivesystem.com/wp-content/uploads/1197801_52364537-300x200.jpg" alt="" title="1197801_52364537" width="300" height="200" class="alignnone size-medium wp-image-1929" /></p>
<p>PHPに<a href="http://php.net/manual/ja/function.mb-substr.php" title="" target="_blank">mb_substr</a>関数というのがあるのをご存知でしょうか？</p>
<p>これはざっくりと説明すると、指定した範囲の文字列を取得するものです。<br />
詳しい説明は公式に譲りますが、簡単に表記すると以下のようになります。</p>
<pre class="brush: php; title: ;">
mb_substr (調べる文字列, 取得する文字の開始位置,
文字の長さ, 文字エンコード)
</pre>
<p>つまり、「あなたを愛してます」から三文字目を取得して表示したい場合は、</p>
<pre class="brush: php; title: ;">
$str = &quot;あなたを愛してます&quot;;
echo mb_substr ($str, 2, 1, &quot;utf8&quot;);
</pre>
<p>と書きます。</p>
<p>文字列から抽出して、「きん○ま」という文字を出力した場合は、以下のようになります。</p>
<pre class="brush: php; title: ;">
$tweet = &quot;きみと一緒なら、たくさんの思い出作りたいよ。また会えるといいね&quot;;
echo mb_substr($tweet, 0, 1, &quot;utf8&quot;).mb_substr($tweet, 11, 1, &quot;utf8&quot;).mb_substr($tweet, 8, 1, &quot;utf8&quot;).mb_substr($tweet, 22, 1, &quot;utf8&quot;);
</pre>
<p>これをTwitterでつぶやけば、PHPerだけにメッセージが伝わります。<br />
けれど、残念なことにTwitterには140文字の制限がありますので、少しソースを削ってみましょう。</p>
<p><!-- tweet id : 66719404775309312 --><style type='text/css'>#bbpBox_66719404775309312 a { text-decoration:none; color:#038543; }#bbpBox_66719404775309312 a:hover { text-decoration:underline; }</style><div id='bbpBox_66719404775309312' class='bbpBox' style='padding:20px; margin:5px 0; background-color:#ACDED6; background-image:url(http://a2.twimg.com/a/1304118205/images/themes/theme18/bg.gif); background-repeat:no-repeat'><div style='background:#fff; padding:10px; margin:0; min-height:48px; color:#333333; -moz-border-radius:5px; -webkit-border-radius:5px;'><span style='width:100%; font-size:18px; line-height:22px;'>&#12365;&#12415;&#12392;&#19968;&#32210;&#12394;&#12425;&#12289;&#12383;&#12367;&#12373;&#12435;&#12398;&#24605;&#12356;&#20986;&#20316;&#12426;&#12383;&#12356;&#12424;&#12290;&#12414;&#12383;&#20250;&#12360;&#12427;&#12392;&#12356;&#12356;&#12397;&#12288;mb_substr($tweet, 0, 1).mb_substr($tweet, 11, 1).mb_substr($tweet, 8, 1).mb_substr($tweet, 22, 1)</span><div class='bbp-actions' style='font-size:12px; width:100%; padding:5px 0; margin:0 0 10px 0; border-bottom:1px solid #e6e6e6;'><img align='middle' src='http://blog.olivesystem.com/wp-content/plugins/twitter-blackbird-pie//images/bird.png' /><a title='tweeted on 2011年5月7日 1:22 PM' href='http://twitter.com/#!/olivesystem/status/66719404775309312' target='_blank'>2011年5月7日 1:22 PM</a> via <a href="http://www.tweet55.com/" rel="nofollow" target="blank">早田 (hayata)</a><a href='https://twitter.com/intent/tweet?in_reply_to=66719404775309312' class='bbp-action bbp-reply-action' title='Reply'><span><em style='margin-left: 1em;'></em><strong>Reply</strong></span></a><a href='https://twitter.com/intent/retweet?tweet_id=66719404775309312' class='bbp-action bbp-retweet-action' title='Retweet'><span><em style='margin-left: 1em;'></em><strong>Retweet</strong></span></a><a href='https://twitter.com/intent/favorite?tweet_id=66719404775309312' class='bbp-action bbp-favorite-action' title='Favorite'><span><em style='margin-left: 1em;'></em><strong>Favorite</strong></span></a></div><div style='float:left; padding:0; margin:0'><a href='http://twitter.com/intent/user?screen_name=olivesystem'><img style='width:48px; height:48px; padding-right:7px; border:none; background:none; margin:0' src='http://a2.twimg.com/profile_images/1295841792/logo1_normal.gif' /></a></div><div style='float:left; padding:0; margin:0'><a style='font-weight:bold' href='http://twitter.com/intent/user?screen_name=olivesystem'>@olivesystem</a><div style='margin:0; padding-top:2px'>OLIVESYSTEM</div></div><div style='clear:both'></div></div></div><!-- end of tweet --><br />
表面上はイイコト言っていて、PHPerにはメッセージが伝わります。いい感じですね。<br />
これなら、取引先につぶやきを見られても「詩人で真面目な人だな」としか思われません。</p>
<p>ちなみに、「おっぱい」ならこうなります。</p>
<pre class="brush: php; title: ;">
$tweet = &quot;おお、いい時間をいっぱい過ごせた。&quot;;
echo mb_substr($tweet, 0, 1, &quot;utf8&quot;).mb_substr($tweet, 9, 3, &quot;utf8&quot;);
</pre>
<p>是非、活用してみてくださいヽ(*´∀｀*)ﾉ </p>
<p><br class="h15"><br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8BPHP%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E3%81%9F%E3%81%AB%E3%81%90%E3%81%A1-%E3%81%BE%E3%81%93%E3%81%A8/dp/4839933146%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4839933146" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51nJU4s84tL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8BPHP%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E3%81%9F%E3%81%AB%E3%81%90%E3%81%A1-%E3%81%BE%E3%81%93%E3%81%A8/dp/4839933146%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4839933146" target="_blank">よくわかるPHPの教科書</a></p>
	<p><em>著者／訳者：</em>たにぐち まこと</p>
	<p><em>出版社：</em>毎日コミュニケーションズ( 2010-09-14 )</p>
	<p><em>定価：</em>￥ 2,604</p>
	<p><em>Amazon価格：</em>￥ 2,604</p>
	<p>単行本（ソフトカバー） ( 304 ページ )</p>
	<p>ISBN-10 : 4839933146</p>
	<p>ISBN-13 : 9784839933142</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.olivesystem.com/1906.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/1906.html" />
	</item>
		<item>
		<title>[PHP]Instagramの情報を取得しサムネイル表示させる</title>
		<link>http://blog.olivesystem.com/1693.html</link>
		<comments>http://blog.olivesystem.com/1693.html#comments</comments>
		<pubDate>Mon, 06 Dec 2010 05:08:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Twitterサービス]]></category>
		<category><![CDATA[Webづくり]]></category>
		<category><![CDATA[Instagram]]></category>
		<category><![CDATA[PHPソース]]></category>
		<category><![CDATA[Webサービス]]></category>

		<guid isPermaLink="false">http://blog.olivesystem.com/?p=1693</guid>
		<description><![CDATA[最近書評ばかりなので、たまにはWeb製作者・PHPerらしいことを書こうかと思う。 Instagramは写真を加工して共有できるアプリだ。 このウェブサービスは、iPhoneの専用アプリで操作することがメインになってるた [...]]]></description>
			<content:encoded><![CDATA[<p>最近書評ばかりなので、たまにはWeb製作者・PHPerらしいことを書こうかと思う。<br />
<span id="more-1693"></span><br />
<a href="http://bit.ly/fjPI16" target="_blank">Instagram</a>は写真を加工して共有できるアプリだ。</p>
<p>このウェブサービスは、iPhoneの専用アプリで操作することがメインになってるため、画像やユーザ情報などを取得できるAPIは用意されていない。<br />
なければ自分で取得できるPHPスクリプト作ってしまえばいいと思い、色々調べてみた。</p>
<p>すると、画像が表示されるページ（例：http://instagr.am/p/eQJh/）のHTMLにはメタタグ内に画像URLやユーザ名を含んでることがわかった。<br />
ソースを表示するとhead内に&lt;meta property=&#8221;og:image&#8221; content=&#8221;画像URL&#8221; /&gt;といった記述がある。</p>
<p>InstagramのURLをもとに、以下のように処理します。</p>
<p>— ソースここから —<br />
&lt;?php</p>
<p>$url = &#8220;http://instagr.am/p/eQJh/&#8221;;<br />
$fp = file_get_contents($url);</p>
<p>/* タイトルを取得 */<br />
preg_match(&#8216;/(]+)property=&#8221;?og:title&#8221;?([^&gt;]*)&gt;)/i&#8217;, $fp, $match);<br />
preg_match(&#8216;/content=&#8221;?([^\"]+)&#8221;?/i&#8217;, $match[0], $title);</p>
<p>/* イメージURLを取得 */<br />
preg_match(&#8216;/(]+)property=&#8221;?og:image&#8221;?([^&gt;]*)&gt;)/i&#8217;, $fp, $match);<br />
preg_match(&#8216;/content=&#8221;?([^\"]+)&#8221;?/i&#8217;, $match[0], $image);</p>
<p>/* コメントを取得 */<br />
preg_match(&#8216;/(]+)property=&#8221;?og:description&#8221;?([^&gt;]*)&gt;)/i&#8217;, $fp, $match);<br />
preg_match(&#8216;/content=&#8221;?([^\"]+)&#8221;?/i&#8217;, $match[0], $description);</p>
<p>echo $title[1].&#8221;&lt;br&gt;&#8221;;<br />
echo $image[1].&#8221;&lt;br&gt;&#8221;;<br />
echo $description[1];</p>
<p>?&gt;<br />
— ソースここまで —</p>
<p>これを画像だけの表示にするには、本来なら</p>
<p><code></p>
<p>header("Content-type: image/jpeg");<br />
readfile($image[1]);</p>
<p></code></p>
<p>で表示できるはずなのだが、何故か上手くいかなかったので、</p>
<p><code></p>
<p>echo "&lt;img src=\"{$image[1]}\" alt=\"\"&gt;";</p>
<p></code></p>
<p>で表示することにした。</p>
<p><strong>&#8212;&#8212;&#8211; 追記 (2010/12/06) &#8212;&#8212;&#8212;&#8212;&#8211;</strong></p>
<p>書き忘れがあったので追記。</p>
<p>取得したURLをサムネイル画像の大きさにするため、URL画像の_7.jpgを_5.jpgに変更するとよい。_5.だと150pxになるからだ。</p>
<p>つまり</p>
<p><code><br />
$image[1] = str_replace("_7.", "_5.", $image[1]);<br />
</code></p>
<p>とすればよい。<br />
<br class="h15"><br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8BPHP%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E3%81%9F%E3%81%AB%E3%81%90%E3%81%A1-%E3%81%BE%E3%81%93%E3%81%A8/dp/4839933146%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4839933146" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51nJU4s84tL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/%E3%82%88%E3%81%8F%E3%82%8F%E3%81%8B%E3%82%8BPHP%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-%E3%81%9F%E3%81%AB%E3%81%90%E3%81%A1-%E3%81%BE%E3%81%93%E3%81%A8/dp/4839933146%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4839933146" target="_blank">よくわかるPHPの教科書</a></p>
	<p><em>著者／訳者：</em>たにぐち まこと</p>
	<p><em>出版社：</em>毎日コミュニケーションズ( 2010-09-14 )</p>
	<p><em>定価：</em>￥ 2,604</p>
	<p><em>Amazon価格：</em>￥ 2,604</p>
	<p>単行本（ソフトカバー） ( 304 ページ )</p>
	<p>ISBN-10 : 4839933146</p>
	<p>ISBN-13 : 9784839933142</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.olivesystem.com/1693.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/1693.html" />
	</item>
		<item>
		<title>[PHP]文字のはみ出しをなくす</title>
		<link>http://blog.olivesystem.com/1631.html</link>
		<comments>http://blog.olivesystem.com/1631.html#comments</comments>
		<pubDate>Sat, 25 Sep 2010 06:28:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[HTML,CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webづくり]]></category>
		<category><![CDATA[PHPソース]]></category>

		<guid isPermaLink="false">http://blog.olivesystem.com/?p=1631</guid>
		<description><![CDATA[aaaaaaという風に文字数が連続した場合やリンクをつけた場合などに、幅の設定をしてるにも関わらず文字がはみ出してしまう現象を回避する方法。 たとえば、 aaaaaaaaaaaaaaaaaaaaaa となっている時に、ス [...]]]></description>
			<content:encoded><![CDATA[<p>aaaaaaという風に文字数が連続した場合やリンクをつけた場合などに、幅の設定をしてるにも関わらず文字がはみ出してしまう現象を回避する方法。<br />
<span id="more-1631"></span><br />
たとえば、</p>
<div class="mozi">
aaaaaaaaaaaaaaaaaaaaaa
</div>
<p>となっている時に、スタイルシートでwidth:80px;と指定しても、文字ははみ出してしまいます。<br />
これがIEなら、</p>
<p>.mozi{<br />
width:80px;<br />
word-break:break-all;<br />
}</p>
<p>というようにword-breakを指定すれば自動で改行されるのですが、他のブラウザだとそれがうまくいきません。</p>
<p>そこで、Firefoxなどのブラウザでも、自動で改行するPHPスクリプトを記述します。</p>
<p>$mozi = array(<br />
&#8220;aaaaaaaaaaaaaa&#8221;,&#8221;bbbbbbbbbbbbbbbbb&#8221;,&#8221;ccc&#8221;,&#8221;dddddddd&#8221;,&#8221;eeeee&#8221;<br />
);</p>
<p>for($i=0; $i<5; $i++){<br />
 $check = 8;<br />
 $mozisu = strlen($mozi[$i]);<br />
 if($mozisu>=$check){<br />
 $mozi[$i] = wordwrap($mozi[$i], $check, &#8220;<wbr>&#8220;, true);<br />
 }<br />
}</p>
<p>以上のようにします。</p>
<p>簡単に説明すると、$moziという配列に8文字以上のものがあれば自動改行するようにしています。</p>
<p>$checkは文字を改行する文字数で、それをあとのwordwrapにて改行コード&lt;wbr&gt;を挿入するようにしてます。<br />
strlenは文字数をチェックしておりifで8文字以上じゃなければ改行コードを挿入しないようにしています。</p>
<p>※日本語の場合、文字化けすることがあります。</p>
<p><br class="h15"><br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/PHP-%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AC%E3%82%B7%E3%83%94-PROGRAMMER%E2%80%99S-RECiPE-%E9%88%B4%E6%9C%A8/dp/4798119865%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798119865" target="_blank"><img src="http://ecx.images-amazon.com/images/I/518bklf0j0L._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/PHP-%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AC%E3%82%B7%E3%83%94-PROGRAMMER%E2%80%99S-RECiPE-%E9%88%B4%E6%9C%A8/dp/4798119865%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798119865" target="_blank">PHP 逆引きレシピ (PROGRAMMER’S RECiPE)</a></p>
	<p><em>著者／訳者：</em>鈴木 憲治 安藤 建一 山田 直明 八木 照朗 山本 義之 河合 勝彦 </p>
	<p><em>出版社：</em>翔泳社( 2009-06-30 )</p>
	<p><em>定価：</em>￥ 2,730</p>
	<p><em>Amazon価格：</em>￥ 2,730</p>
	<p>単行本（ソフトカバー） ( 768 ページ )</p>
	<p>ISBN-10 : 4798119865</p>
	<p>ISBN-13 : 9784798119861</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.olivesystem.com/1631.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/1631.html" />
	</item>
		<item>
		<title>[PHP]自分のサイト以外からのPOSTを制限する方法</title>
		<link>http://blog.olivesystem.com/1551.html</link>
		<comments>http://blog.olivesystem.com/1551.html#comments</comments>
		<pubDate>Sat, 20 Feb 2010 09:14:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webづくり]]></category>
		<category><![CDATA[PHPソース]]></category>

		<guid isPermaLink="false">http://blog.olivesystem.com/?p=1551</guid>
		<description><![CDATA[自分以外のサイトからフォームデータをPOSTされると、サーバー負荷が高くなるだけでなく、Dos攻撃の手段としても使用されかねません。 そこでPOSTを制限する方法です。 &#8212; ソースここから &#8212; &#038; [...]]]></description>
			<content:encoded><![CDATA[<p>自分以外のサイトからフォームデータをPOSTされると、サーバー負荷が高くなるだけでなく、Dos攻撃の手段としても使用されかねません。<br />
そこでPOSTを制限する方法です。<br />
<span id="more-1551"></span><br />
&#8212; ソースここから &#8212;<br />
<code><br />
&lt;?php<br />
//リンク元（POST元）の判定<br />
$host = $_SERVER['HTTP_REFERER'];<br />
$str = parse_url($host);<br />
if(stristr($str['host'], "hoge.com")){<br />
$check = "ok";<br />
}<br />
if($check=="ok"){<br />
//ここにPOST後の処理を記述<br />
}<br />
?&gt;<br />
</code><br />
&#8212; ソースここまで &#8212;</p>
<p>$_SERVER['HTTP_REFERER']でリンク元を取得し、parse_urlでドメインのみをとってます。<br />
そして、ドメインがhoge.comのときのみ、$check = okにし、POST処理を可能にしています。</p>
<p>似たような方法で、以前に<a href="http://blog.olivesystem.com/831.html" title="">[PHP]特定ドメインからの訪問者だけに表示する</a>も書いてます。<br />
<br class="h15"><br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/PHP-%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AC%E3%82%B7%E3%83%94-PROGRAMMER%E2%80%99S-RECiPE-%E9%88%B4%E6%9C%A8/dp/4798119865%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798119865" target="_blank"><img src="http://ecx.images-amazon.com/images/I/518bklf0j0L._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/PHP-%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AC%E3%82%B7%E3%83%94-PROGRAMMER%E2%80%99S-RECiPE-%E9%88%B4%E6%9C%A8/dp/4798119865%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798119865" target="_blank">PHP 逆引きレシピ (PROGRAMMER’S RECiPE)</a></p>
	<p><em>著者／訳者：</em>鈴木 憲治 安藤 建一 山田 直明 八木 照朗 山本 義之 河合 勝彦 </p>
	<p><em>出版社：</em>翔泳社( 2009-06-30 )</p>
	<p><em>定価：</em>￥ 2,730</p>
	<p><em>Amazon価格：</em>￥ 2,730</p>
	<p>単行本（ソフトカバー） ( 768 ページ )</p>
	<p>ISBN-10 : 4798119865</p>
	<p>ISBN-13 : 9784798119861</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.olivesystem.com/1551.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/1551.html" />
	</item>
		<item>
		<title>[PHP]ランダムで複数の値を重複しないように処理</title>
		<link>http://blog.olivesystem.com/1483.html</link>
		<comments>http://blog.olivesystem.com/1483.html#comments</comments>
		<pubDate>Wed, 25 Nov 2009 04:25:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webづくり]]></category>
		<category><![CDATA[PHPソース]]></category>

		<guid isPermaLink="false">http://blog.olivesystem.com/?p=1483</guid>
		<description><![CDATA[ランダムで複数の文字や値を表示する際に、重複しない処理です。 以下のように記述します。 $str_arr = array( "PHP","MySQL","Web","Site","CGI","HTML","Good"," [...]]]></description>
			<content:encoded><![CDATA[<p>ランダムで複数の文字や値を表示する際に、重複しない処理です。<br />
<span id="more-1483"></span><br />
以下のように記述します。<br />
<code><br />
$str_arr = array(<br />
"PHP","MySQL","Web","Site","CGI","HTML","Good","Bad"<br />
);<br />
$str_ct = count($str_arr);<br />
for($i=0; $i<5; $i++){<br />
$d = $i + 1;<br />
$t = $str_ct - $d;<br />
$rd = rand(0, $t);<br />
echo $str_arr[$rd];<br />
array_splice($str_arr, $rd, 1);<br />
}<br />
</code><br />
randとでランダムに配列の位置を指定し、それをarray_spliceで削除しています。<br />
次のfor処理の時にはさきほどのランダムで表示した値は消えているので、$iで引くことによって値が引かれた数（$t）をだし、再びランダムに指定してます。</p>
<p><br class="h15"><br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/PHP-%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AC%E3%82%B7%E3%83%94-PROGRAMMER%E2%80%99S-RECiPE-%E9%88%B4%E6%9C%A8/dp/4798119865%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798119865" target="_blank"><img src="http://ecx.images-amazon.com/images/I/518bklf0j0L._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/PHP-%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AC%E3%82%B7%E3%83%94-PROGRAMMER%E2%80%99S-RECiPE-%E9%88%B4%E6%9C%A8/dp/4798119865%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798119865" target="_blank">PHP 逆引きレシピ (PROGRAMMER’S RECiPE)</a></p>
	<p><em>著者／訳者：</em>鈴木 憲治 安藤 建一 山田 直明 八木 照朗 山本 義之 河合 勝彦 </p>
	<p><em>出版社：</em>翔泳社( 2009-06-30 )</p>
	<p><em>定価：</em>￥ 2,730</p>
	<p><em>Amazon価格：</em>￥ 2,730</p>
	<p>単行本（ソフトカバー） ( 768 ページ )</p>
	<p>ISBN-10 : 4798119865</p>
	<p>ISBN-13 : 9784798119861</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.olivesystem.com/1483.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/1483.html" />
	</item>
		<item>
		<title>PEARのインストールや使い方に関するまとめ記事</title>
		<link>http://blog.olivesystem.com/1442.html</link>
		<comments>http://blog.olivesystem.com/1442.html#comments</comments>
		<pubDate>Wed, 04 Nov 2009 02:35:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webづくり]]></category>
		<category><![CDATA[PEAR]]></category>
		<category><![CDATA[PHPソース]]></category>
		<category><![CDATA[まとめ]]></category>

		<guid isPermaLink="false">http://blog.olivesystem.com/?p=1442</guid>
		<description><![CDATA[今まで私が参考にしてきたPEARに関する記事や情報、新たに見つけたもののまとめ（追記2011/01/24）。 インストール Manual :: PEAR Manual go-pear.php 大八洲.NET &#8211 [...]]]></description>
			<content:encoded><![CDATA[<p>今まで私が参考にしてきたPEARに関する記事や情報、新たに見つけたもののまとめ（追記2011/01/24）。<br />
<span id="more-1442"></span><br />
<strong>インストール</strong></p>
<ul>
<li><a href="http://pear.php.net/manual/ja/" title="" target="_blank">Manual :: PEAR Manual</a></li>
<li><a href="http://pear.php.net/go-pear" title="" target="_blank">go-pear.php</a></li>
<li><a href="http://www.ooyashima.net/db/install_pear.htm" title="" target="_blank">大八洲.NET &#8211; PEARのインストール</a></li>
<li><a href="http://saboten009.blogspot.com/2008/07/pearsshgo-pearcgixrea.html" title="" target="_blank">【PEAR】SSHを使わずgo-pear.cgiを使ってブラウザからXREAにインストール</a></li>
</ul>
<p><strong>XreaサーバーでPEARを使うときの注意点、エラー対策（CORESERVERも共通）</strong></p>
<ul>
<li><a href="http://lab.urume.net/2006,0529,447.html" title="" target="_blank">XREAにPEARをインストールできた</a></li>
<li><a href="http://d.hatena.ne.jp/kemworld/20071003/1191421021" title="" target="_blank">XREAでPEARをインストールするのにハマッタときのメモ</a><br />sshでのインストール方法</li>
<li><a href="http://blog.technology-knowledge.jp/2007/12/13/64/" title="" target="_blank">共有サーバ（CORESERVER.JP）で自由にPEARのインストールをする</a><br />CGI版として動かす設定を｢.htaccess｣ファイル</li>
<li><a href="http://blog.kechol.net/articles/articles/install-services_twitter-with-go_pear-to-coreserver.html" title="" target="_blank">coreserverにgo-pearを使ってServices_Twitterをインストールするまで。</a></li>
<li><a href="http://oumiline.com/blog/?p=22" title="" target="_blank">coreserverにgo-pearを入れる</a><br />sessionエラーの対処</li>
</ul>
<p>｢.htaccess｣ファイルの準備等は忘れやすいので注意</p>
<p><strong>一般的なエラー対処</strong></p>
<ul>
<li>インストール時</li>
<ol>
go-pearで「Fatal error: Class &#8216;PEAR&#8217; not found」というエラー<br />
　　　↓<br />
最新のgo-pearを入手し、インストールすると解決
</ol>
</ul>
<ul>
<li>インストール後</li>
<ol>
index.phpにアクセスすると「No PEAR.php in supplied PEAR directory: @pear_dir@」というエラー<br />
　　　↓<br />
$pear_dirの部分をPEARをインストールしたフォルダを指定する。
</ol>
</ul>
<p><strong>パッケージ</strong></p>
<ul>
<li><a href="http://d.hatena.ne.jp/p4life/20090510/1241954889" title="" target="_blank"> Amazon Product Advertising API への対応（PHP版）</a></li>
<li><a href="http://php.y-110.net/wiki/index.php?PEAR%A1%A7Cache_Lite" title="" target="_blank">PEAR：Cache_Lite &#8211; Y-110&#8242;s Wiki</a><br />キャッシュライブラリ</li>
<li><a href="http://www.cocoaliz.com/php/index/77/" title="" target="_blank">XML_RPC(PEAR)を利用＠PHP </a></li>
<li><a href="http://webtech-walker.com/archive/2007/04/06023523.html" title="" target="_blank">Pear XML_Serializerを使ってみた</a><br />XMLライブラリ</li>
<li><a href="http://www.cocoaliz.com/php/index/64/" title="" target="_blank">Image_Graph(PEAR)を利用＠PHP </a><br />グラフライブラリ</li>
</ul>
<p><strong>サンプル</strong></p>
<p>Services_JSON</p>
<div style="border:1px solid #cccccc;">
<code><br />
require_once("Services/JSON.php");<br />
$json = new Services_JSON();</p>
<p>$uri = "APIのURL";<br />
$text = file_get_contents($uri);<br />
$text_d = $json->decode($text);<br />
print_r($text_d);<br />
</code>
</div>
<p>そのうち追記するかも・・・。<br />
<br class="h15"><br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/PHP%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/4798114952%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798114952" target="_blank"><img src="http://ecx.images-amazon.com/images/I/41v-LjiKz6L._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/PHP%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3-%E5%B1%B1%E7%94%B0-%E7%A5%A5%E5%AF%9B/dp/4798114952%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798114952" target="_blank">PHPライブラリコレクション</a></p>
	<p><em>著者／訳者：</em>山田 祥寛</p>
	<p><em>出版社：</em>翔泳社( 2008-01-25 )</p>
	<p><em>定価：</em>￥ 2,520</p>
	<p><em>Amazon価格：</em>￥ 2,520</p>
	<p>単行本（ソフトカバー） ( 496 ページ )</p>
	<p>ISBN-10 : 4798114952</p>
	<p>ISBN-13 : 9784798114958</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.olivesystem.com/1442.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/1442.html" />
	</item>
		<item>
		<title>[メモ]WordPressでタグ一覧ページを作る方法</title>
		<link>http://blog.olivesystem.com/1192.html</link>
		<comments>http://blog.olivesystem.com/1192.html#comments</comments>
		<pubDate>Fri, 21 Aug 2009 15:31:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Webづくり]]></category>
		<category><![CDATA[PHPソース]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.olivesystem.com/?p=1192</guid>
		<description><![CDATA[タグ一覧を作る方法を忘れていたのでメモ書き まず、テンプレートファイルにあるpage.php（ページのテンプレファイル）をコピーし、「tags.php」にリネーム。 ファイルの先頭行に &#60;?php /* Templ [...]]]></description>
			<content:encoded><![CDATA[<p>タグ一覧を作る方法を忘れていたのでメモ書き<br />
<span id="more-1192"></span><br />
まず、テンプレートファイルにあるpage.php（ページのテンプレファイル）をコピーし、「tags.php」にリネーム。</p>
<p>ファイルの先頭行に</p>
<p><code><br />
&lt;?php /*<br />
Template Name: Tag Archive<br />
*/ ?&gt;<br />
</code></p>
<p>と追加する。次に以下のように書き換える。</p>
<p><code><br />
&lt;?php the_content('Read the rest of this entry &raquo;'); ?&gt;<br />
</code><br />
の部分を<br />
<code><br />
&lt;?php wp_tag_cloud('smallest=8&#038;largest=22&#038;number=0&#038;orderby=name'); ?&gt;<br />
</code><br />
とする。</p>
<p>前者はテンプレによって異なるが、要は「次の記事を読む」といった旨のソースの部分をタグ表示に変更している。</p>
<p>smallestは小さいタグ（あまり利用していないタグ）のフォントサイズ、largestは大きいタグ（頻繁なタグ）のフォントサイズ、orderbyはタグの表示順である。<br />
タグクラウドの詳しい表記設定は<a href="http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_tag_cloud" title="" target="_blank">公式サイトを参照</a>。</p>
<p>これを使用中のテンプレートフォルダと同一の場所にアップロードする。</p>
<p>次に、Wordpress管理画面でページ作成する。<br />
「Tags」というタイトルで、ページリンクは「tags」にし、右サイドバーのテンプレートファイルで「Tag Archive」を選択してページ作成を更新する。</p>
<p>すると、[あなたのURL]/tagsにアクセスすればタグ一覧ページが表示される。</p>
<p><br class="h15"><br />
<div class="tmkm-amazon-view">
	<p><a href="http://www.amazon.co.jp/WordPress-2-7%E5%AF%BE%E5%BF%9C%E3%80%8C%E5%B0%8E%E5%85%A5-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%80%8D%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89%E2%80%95%E5%80%8B%E4%BA%BA%E3%83%96%E3%83%AD%E3%82%B0%E3%82%82%E4%BC%81%E6%A5%AD%E3%82%B5%E3%82%A4%E3%83%88%E3%82%82%E7%B0%A1%E5%8D%98-%E7%84%A1%E6%96%99%E3%81%A7%E6%A7%8B%E7%AF%89%E3%81%A7%E3%81%8D%E3%82%8B-%E5%90%89%E6%9D%91/dp/4798022012%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798022012" target="_blank"><img src="http://ecx.images-amazon.com/images/I/51S-xygTogL._SL160_.jpg" border="0" alt="" /></a></p>
	<p><a href="http://www.amazon.co.jp/WordPress-2-7%E5%AF%BE%E5%BF%9C%E3%80%8C%E5%B0%8E%E5%85%A5-%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%80%8D%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89%E2%80%95%E5%80%8B%E4%BA%BA%E3%83%96%E3%83%AD%E3%82%B0%E3%82%82%E4%BC%81%E6%A5%AD%E3%82%B5%E3%82%A4%E3%83%88%E3%82%82%E7%B0%A1%E5%8D%98-%E7%84%A1%E6%96%99%E3%81%A7%E6%A7%8B%E7%AF%89%E3%81%A7%E3%81%8D%E3%82%8B-%E5%90%89%E6%9D%91/dp/4798022012%3FSubscriptionId%3D0D8N175Q7P9EDPPK1502%26tag%3Dolisys55-22%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D4798022012" target="_blank">WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる!</a></p>
	<p><em>著者／訳者：</em>吉村 正春</p>
	<p><em>出版社：</em>秀和システム( 2009-02 )</p>
	<p><em>定価：</em>￥ 2,730</p>
	<p>単行本 ( 415 ページ )</p>
	<p>ISBN-10 : 4798022012</p>
	<p>ISBN-13 : 9784798022017</p>
<hr class="tmkm-amazon-clear" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.olivesystem.com/1192.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.olivesystem.com/1192.html" />
	</item>
	</channel>
</rss>

