<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
   <channel>
      <title>photosynthesis2</title>
      <link>http://www.spiral-records.com/psts/</link>
      <description></description>
      <language>ja</language>
      <copyright>Copyright 2012</copyright>
      <lastBuildDate>Sat, 28 Jan 2012 23:08:01 +0900</lastBuildDate>
      <generator>http://www.sixapart.com/movabletype/</generator>
      <docs>http://blogs.law.harvard.edu/tech/rss</docs> 

      
      <item>
         <title>jQueryでthisの小要素を指定する方法</title>
         <description><![CDATA[例えばあるdiv#hogeをhoverした際に、その#hoge内のh2とpのテキスト色を同時に変えたいみたいな時に、jQieryでthisの小要素を指定できるとhoverのfunctionがひとつで済んで便利。

<pre><code>
&lt;div id=&quot;hoge&quot;&gt;
    &lt;h2&gt;一緒だよ&lt;/h2&gt;
    &lt;p&gt;一緒に変化するよ&lt;/p&gt;
&lt;/div&gt;
</code></pre>


色々方法があるけど、

$("hoge",this)

が一番シンプルで使いやすいと思う。

上記コードで使うと

<pre><code>
$(&quot;#hoge&quot;).hover(function() {
		$(&quot;h2&quot;,this).stop().animate({ color: &quot;#444444&quot; }, &#039;slow&#039;);
		$(&quot;p&quot;,this).stop().animate({ color: &quot;#444444&quot; }, &#039;slow&#039;);
	},function() {
		$(&quot;h2&quot;,this).stop().animate({ color: &quot;#222222&quot; }, &#039;slow&#039;);
		$(&quot;p&quot;,this).stop().animate({ color: &quot;#666666&quot; }, &#039;slow&#039;);
	});

</code></pre>

その他、

$(this).children("hoge")
$(this).find("hoge")

など。]]></description>
         <link>http://www.spiral-records.com/psts/2012/01/jqierythis.html</link>
         <guid>http://www.spiral-records.com/psts/2012/01/jqierythis.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Javascript/jQuery</category>
        
        
         <pubDate>Sat, 28 Jan 2012 23:08:01 +0900</pubDate>
      </item>
      
      <item>
         <title>get_magic_quotes_gpc()</title>
         <description><![CDATA[SQLコマンドをエスケープするのに昨今ではmagic_quotes_gpcでが不十分なため、

MySQL：mysql_real_escape_string
PostageSQL：pg_escape_string
SQLite：sqlite_escape_string

を使ったりする。

そのため、magic_quotes_gpcを一旦解除する必要があり、その際にmagic_quotes_gpcのONOffを調べるのに使用する。

<pre><code>
if(get_magic_quotes_gpc()){
   $hoge = stripslashes()$hoge;
}
</code></pre>

上記の通りstripslashesでエスケープを一旦解除して、その後今一度エスケープさせる。]]></description>
         <link>http://www.spiral-records.com/psts/2012/01/get_magic_quotes_gpc.html</link>
         <guid>http://www.spiral-records.com/psts/2012/01/get_magic_quotes_gpc.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">php</category>
        
        
         <pubDate>Sat, 28 Jan 2012 10:23:09 +0900</pubDate>
      </item>
      
      <item>
         <title>HTML5　備忘録 その1</title>
         <description><![CDATA[html5でのマークアップで重要なのはセマンティクスの概念。
section、articleの使い方が重要になってくるのでは。
rssフィードを書くのに近い気がする。
様々なデバイスで最適な形で使用できるように、sectionなどを用いた階層構造をいかに使いやすい構造にするか、というところ。



<h3>section、article、aside</h3>
<h3>header nav footer address</h3>
<h3>manifestファイル（キャッシュマニフェスト）</h3>
について。]]></description>
         <link>http://www.spiral-records.com/psts/2012/01/html5.html</link>
         <guid>http://www.spiral-records.com/psts/2012/01/html5.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTML/CSS</category>
        
        
         <pubDate>Thu, 26 Jan 2012 15:33:23 +0900</pubDate>
      </item>
      
      <item>
         <title>jQueryにおけるattr()とprop()　- selectedIndexの場合 -</title>
         <description><![CDATA[セレクトボタンで一度セレクトされたものを解除（selected）の状態に戻したい！な時の話。

下記例で、最初は「そないいわんでも」。
クリックして「ほんにまあ」をセレクト。
もう一度セレクトボタンを触らずに、別のボタンか何かでselectedの「そないいわんでも」に変更したい、みたいなことです。

<code>&lt;select&gt;
&lt;option selected=&quot;selected&quot;&gt;そないいわんでも&lt;/option&gt;
&lt;option&gt;ほんにまあ&lt;/option&gt;
&lt;/select&gt;</code>

selectedIndexがセレクトされているoptionを数値で持っていて、、このselectIndexを

0（0からカウントされている値なので）

にすれば戻る。

で、普通にぽわんと考えると

<code>$('select') .attr('selectedIndex', 0); </code>

とattr()でselectedIndexの値を「0」にしようとした。

でもjQueryはattr()色々と難しいようで動かない。

<a href="http://ginpen.com/2011/05/20/jquery-1-6-1/">http://ginpen.com/2011/05/20/jquery-1-6-1/</a>この記事が詳しい。

で、上記記事を参照し、selectedIndexはprop()でないとダメらしく

<code>$('select') .prop('selectedIndex', 0); </code>

で動く。
jQueryのバージョンで挙動が色々あるらしく、動かなかったらもう色々試すしかないね。。。

サンプルはこちら：<a href="http://spiral-records.com/psts-lib/javascript/attr-prop-sample.php">jQueryにおけるattr()とprop()　- selectedIndexの場合 -　サンプルページ</a>

とりあえずselectedIndexの件は以上で、解決。]]></description>
         <link>http://www.spiral-records.com/psts/2012/01/jqueryattrprop.html</link>
         <guid>http://www.spiral-records.com/psts/2012/01/jqueryattrprop.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Javascript/jQuery</category>
        
        
         <pubDate>Wed, 25 Jan 2012 16:54:50 +0900</pubDate>
      </item>
      
      <item>
         <title>未来を生きる</title>
         <description><![CDATA[楽しく、少しでもやりたいことをやって生きたい。
その願望をかなえるためにフリーランスで生きている。
本当は別にサラリーマンでもいいし肩書きやらなんやらはなんでもいいんだけど、なかなか自分にできることや方法って限られていて、残ったのがこのフリーランスでデザイン・ウェブの仕事を引き受ける、というヤツだった。
できることの中でなんとか生きている。

<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=F8F8FF&IS2=1&bg1=F8F8FF&fc1=2F3A49&lc1=2F3A49&t=dancdanccomeo-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4048709224" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

年々、未来について思いを巡らすことが増えている。
現実がどうにもならないからとかではなくて、年をとる毎に考えることが面白くなってきているからだ。どんどんぐちゃぐちゃになっていっているけど、面白い。いつか整理がつくはずだと思いつつ、混沌とした濁流を楽しんでいる。

本書のプロローグで触れられている通り、今「企業の時代」から「個の時代」への流れの中で大きな軋轢が起きている時代だ。この混沌をポジティブに受け止めてなんとか少しでもおもしろく生きていきたい。

世間的にはおそらく沢尻エリカのだんなで、いつもニヤついているわけのわからんやつみたいな扱いであろう高城剛。
彼が、様々なジャンルで活躍する人々との雑談（対談）を収録した本書には、ほんのちょっとの気付きがそれぞれの対談相手と高城氏の口からこぼれ出ている。
個人的にはテリー伊藤、整体師の三枝氏との対談に多くの気づきがあり非常に参考になった。

未来を自分で描きたいと思うヒトにはきっと役に立つ小さな気づきがいくつかあると思うので、半身浴の際などにオススメです。

<blockquote>そこに文化の構築とか、カルチャーとかってものはないでしょ？新しい芸術家がコツコツなにかを作り出すような。

クリエイターよりもアレンジャーの時代。ただしこれは過渡期的なもので、その後は全然違うところからあたらしいものがでてくるかも。人間ってそんなに愚かじゃないもんね。

個人的にはインターネットの時代はもう過渡期を過ぎたと思っている。インターネットを超えてそろそろ次の何かが出てくる可能性がある。</blockquote>
]]></description>
         <link>http://www.spiral-records.com/psts/2012/01/post_152.html</link>
         <guid>http://www.spiral-records.com/psts/2012/01/post_152.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Book</category>
        
        
         <pubDate>Sun, 15 Jan 2012 19:19:34 +0900</pubDate>
      </item>
      
      <item>
         <title>offset()</title>
         <description><![CDATA[座標を調べるoffset()の件。
まず、要素は可視状態であることが条件。

で、
<code>
var hantei =  $('#hoge').offset() 
alert(hantei);
</code>

だと hogeの座標値が正しく表示されない。

<code>
var hantei =  $('#hoge').offset() 
alert(hantei.left);
</code>

ならOK。]]></description>
         <link>http://www.spiral-records.com/psts/2012/01/offset.html</link>
         <guid>http://www.spiral-records.com/psts/2012/01/offset.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Javascript/jQuery</category>
        
        
         <pubDate>Thu, 12 Jan 2012 12:35:35 +0900</pubDate>
      </item>
      
      <item>
         <title>jQueryはセレクタを「 , 」区切りでまとめてポン。</title>
         <description><![CDATA[複数のセレクタ（#hoge1 #hoge2 #hoge3）で同じ処理の時のセレクタをまとめる書き方。
<code>
$('#hoge, #hoge2, #hoge3').
</code>
ってこと。

んだけ。
]]></description>
         <link>http://www.spiral-records.com/psts/2012/01/jquery_1.html</link>
         <guid>http://www.spiral-records.com/psts/2012/01/jquery_1.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Javascript/jQuery</category>
        
        
         <pubDate>Tue, 10 Jan 2012 23:26:21 +0900</pubDate>
      </item>
      
      <item>
         <title>Googleの過去を知る</title>
         <description><![CDATA[<iframe src="http://rcm-jp.amazon.co.jp/e/cm?lt1=_blank&bc1=F8F8FF&IS2=1&bg1=F8F8FF&fc1=2F3A49&lc1=1E90FF&t=dancdanccomeo-22&o=9&p=8&l=as4&m=amazon&f=ifr&ref=ss_til&asins=4839933464" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

2010年1月29日初版のこの「Gooleの正体」では、現在のGoogleは見えてこない。
この業界で2年とは途方もない昔の話になってしまうのは自明のことで、Googleの過去を押さえる（主にどうやって儲けて、どうして無償で様々なサービスだすのかという話）、歴史教科書として本書は機能することになる。
ただ、2010年ながらFacebookといったSNSとGoogleの関連性についての記述がなく、著者の先見の明があまりないように思うのが残念なところだが、それでもgoogle含めたネットやネット広告の歴史教科書としては2、3時間もあれば読めてしまうボリュームなので目を通すのはいいのではと思う。

<blockquote>消費者は受動的に入ってくる広告を軽視するようになる一方で、自分で能動的に発見した広告を重視するようになってきている。

現在の広告消費者モデルでは、広告の機能する段階が減っている。

ロングテールは死に筋復活の魔法ではない。なんでもない地方の小売店が脚光を浴びることはない。あくまで価値があるのに届かなかったものに対して機能する。

Googleは大数の法則により1回検索してもらうことでいくら売り上げがたつかわかっている。だから、検索トラフィックをよそから買ってくる方法が成り立つ。

利用者増、検索回数増、広告クリック率増、そのためのandroid、ChromeOS、行動ターゲティング広告。

ネットの世界では、利用者指向のサービスは必ず評価されるし、業者指向のサービスは必ず失敗する。goto,comとgoogleの明暗は当然の結果。

先進国より発展途上国でandroidとchromeOSは重要。
</blockquote>]]></description>
         <link>http://www.spiral-records.com/psts/2012/01/google.html</link>
         <guid>http://www.spiral-records.com/psts/2012/01/google.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Book</category>
        
        
         <pubDate>Mon, 09 Jan 2012 21:23:12 +0900</pubDate>
      </item>
      
      <item>
         <title>テキストを回り込みさせないためのCSS記述</title>
         <description><![CDATA[突発的に忘れ、5秒で思い出したので念のため備忘録。
テキストを回り込みさせないために、なんか昔回り込みさせたくないボックスの高さを100%にするために云々みたいなことしていたような気がするけど、この記述のみでok。
<code>
&lt;img src=&quot;hoge&quot;&gt;
&lt;p&gt;このテキストに回り込んでほしくないわけよほんと。だってかっこわるいじゃんまわりこんだら。そうでしょ、ちょっとそこのあなた！&lt;/p&gt;
</code>

cssを以下の通り記述。
<code>p {overflow: hidden; }</code>

もしあなたのお客様がIE6が素敵とおっしゃるなら
<code>_zoom:1;</code>
を加えてくだされば。

では、さようなら。]]></description>
         <link>http://www.spiral-records.com/psts/2012/01/css.html</link>
         <guid>http://www.spiral-records.com/psts/2012/01/css.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">HTML/CSS</category>
        
        
         <pubDate>Thu, 05 Jan 2012 21:58:21 +0900</pubDate>
      </item>
      
      <item>
         <title>A++ ++Aの違い</title>
         <description><![CDATA[A++も++Aもどちらも「Aの値を1増やす」だが、その過程というか1加算されるタイミングが違う。

A + ++Bはすでに1加算されたBとAの足し算「A + B」

A + B++は「A + (B+1)」
<code>
var A = 2;
var B = 4;
var test1 = A + ++B;
var test2 = A + B++;
$(&quot;document&quot;).ready(function(){
$(&quot;#t1&quot;).text(test1);
$(&quot;#t2&quot;).text(test2);
});
</code>
結果は<a href="http://spiral-records.com/psts-lib/javascript/plusplus.html">こちらのページ</a>]]></description>
         <link>http://www.spiral-records.com/psts/2011/12/a_a.html</link>
         <guid>http://www.spiral-records.com/psts/2011/12/a_a.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">Javascript/jQuery</category>
        
        
         <pubDate>Sat, 31 Dec 2011 12:45:52 +0900</pubDate>
      </item>
      
      <item>
         <title>RSSなどのfeedを一覧表示する</title>
         <description><![CDATA[ブログなどのRSSをphpで一覧表示する。
<code>
&lt;ul&gt;
&lt;?php
$pstsAtomTree = simplexml_load_file(&#039;http://spiral-records.com/psts/atom.xml&#039;);
for($i=0;$i&lt;3;$i++){
print(&#039;&lt;li&gt;&lt;a href=&quot;&#039;.$pstsAtomTree-&gt;entry[$i]-&gt;link[href].&#039;&quot;&gt;&#039;.$pstsAtomTree-&gt;entry[$i]-&gt;title.&#039;&lt;/a&gt;&lt;/li&gt;&#039;);
}
?&gt;
&lt;/ul&gt;
</code>

phpにはsimplexml_load_file()という便利な関数がある。

上記例は、これを用いてこのブログのxmlを3件表示するためのコード。

RSSは吐き出されるデータが色々と違う（階層構造など）ので、RSSの中身を見ながらちょいちょいこのコードを修正すればOK。
この例の場合は
<code>
$pstsAtomTree->entry[$i]->link[href]
</code>
がリンクURLの部分で、
atom.xmlでは
<code>
&lt;feed xmlns=&quot;http://www.w3.org/2005/Atom&quot;&gt;
〜省略〜
&lt;entry&gt;
&lt;title&gt;データの有無や判別&lt;/title&gt;
&lt;link rel=&quot;alternate&quot; type=&quot;text/html&quot; href=&quot;http://www.spiral-records.com/psts/2011/12/post_151.html&quot;/&gt;
&lt;id&gt;tag:www.spiral-records.com,2011:/psts//6.1305&lt;/id&gt;
&lt;published&gt;2011-12-26T07:13:54Z&lt;/published&gt;
&lt;updated&gt;2011-12-27T01:38:34Z&lt;/updated&gt;
&lt;summary&gt;is_null()とisset()は変数の値が長さ0の「&quot;&quot;」でもtrueになっ...&lt;/summary&gt;
&lt;author&gt;
&lt;name&gt;hrbys&lt;/name&gt;
&lt;/author&gt;
&lt;category term=&quot;php&quot; scheme=&quot;http://www.sixapart.com/ns/types#category&quot;/&gt;
&lt;content type=&quot;html&quot; xml:lang=&quot;ja&quot; xml:base=&quot;http://www.spiral-records.com/psts/&quot;&gt;
&lt;〜コンテンツの中身省略〜
&lt;/content&gt;
&lt;/entry&gt;
</code>
という感じで階層構造になっているので、階層の通りに指定する。
URLはlinkタグのhrefなので、
<code>
link[href]
</code>
となる。

あああ、メタクソ便利。]]></description>
         <link>http://www.spiral-records.com/psts/2011/12/rss.html</link>
         <guid>http://www.spiral-records.com/psts/2011/12/rss.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">php</category>
        
        
         <pubDate>Fri, 30 Dec 2011 02:46:46 +0900</pubDate>
      </item>
      
      <item>
         <title>データの有無や判別</title>
         <description><![CDATA[is_null()とisset()は変数の値が長さ0の「""」でもtrueになっちゃう。
「""」空の判定はemptyでできるが「0」でもfalseを返しちゃう。
<code>
&lt;form method=&quot;post&quot; action=&quot;&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;c1&quot; value=&quot;&quot;&gt;
&lt;p&gt;&lt;input type=&quot;submit&quot; name=&quot;sub2&quot; value=&quot;送信する&quot;&gt;&lt;/p&gt;
&lt;/form&gt;
&lt;p&gt;&lt;?php
if(empty($_POST[c1])) {
	echo &quot;はいっとらんがや&quot;;
} else {
	echo&quot;はいってるがな&quot;;
}
?&gt;
&lt;/p&gt;
</code>
↑はemptyのテストコードなので、0や空、1でsubmitして見て確かめられる。

strlen()はデータのバイト数を返すので、0バイトなら「無」の判定とか。
strlen()はマルチバイト文字を処理する時のmb_strlen()。
php.iniで「mbstring.func_overload」に値を設定するとstrlen()でもオーバーロードされるようになるみたい。

半角数字はereg()でチェックできるけど
<blockquote>POSIX拡張 正規表現をサポートするereg関数などのPOSIX 正規表現関数は、PHP6.0でコアから消えるらしい。
<a href="http://www.programming-magic.com/20080607020207/">ereg関数はPHP6.0でコアから消える予定【PHP】 - Programming Magic</a></blockquote>
なので、

is_numeric()

とか。

<code>&lt;?php
$number = &quot;01２0&quot;;

if(is_numeric($number)){
	echo &quot;数字じゃ&quot;;
} else {
	echo &quot;数字じゃあらへんねん&quot;;
}
?&gt;</code>

is_numercのテストコード↑
]]></description>
         <link>http://www.spiral-records.com/psts/2011/12/post_151.html</link>
         <guid>http://www.spiral-records.com/psts/2011/12/post_151.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">php</category>
        
        
         <pubDate>Mon, 26 Dec 2011 16:13:54 +0900</pubDate>
      </item>
      
      <item>
         <title>base64_encode()とserialize()</title>
         <description><![CDATA[base64_encode()
<blockquote>指定した data を base64 でエンコードします。
このエンコードは、メールの本体のように 8 ビットクリーンではないトランスポート層を通じても、 バイナリデータが生き残れるように設計されている。
Base64 でエンコードされたデータは、エンコード前のデータにくらべて 33% 余計に容量が必要。
逆はbase64_decode()関数</blockquote>

serialize()
<blockquote>値の保存可能な表現を生成します。
型や構造を失わずに PHP の値を保存または渡す際に有用です。
シリアル化された文字列を PHP の値に戻すには、 unserialize() を使用。</blockquote>

いずれも<a href="http://jp.php.net/manual/ja/">php.netのマニュアル</a>より引用。

<code>
&lt;?php
$array = array(&quot;menu&quot;=&gt;&quot;オノナツメの単行本&quot;, &quot;price&quot;=&gt;&quot;1000&quot;);
echo &quot;&lt;h2&gt;base64_encodeとserializeでエンコードした場合&lt;/h2&gt;&quot;;
print_r(unserialize(base64_decode($_POST[&quot;ar_enc&quot;])));
echo &quot;&lt;h2&gt;serializeしただけの場合&lt;/h2&gt;&quot;;
print_r($_POST[&quot;ar-s&quot;]);
echo &quot;&lt;h2&gt;エンコードしなかった場合&lt;/h2&gt;&quot;;
print_r($_POST[&quot;ar&quot;]);
?&gt;
&lt;form method=&quot;post&quot; action=&quot;&quot;&gt;
&lt;input type=&quot;hidden&quot; name=&quot;ar_enc&quot; value=&quot;&lt;?php echo base64_encode(serialize($array)) ?&gt;&quot;&gt;
&lt;input type=&quot;hidden&quot; name=&quot;ar-s&quot; value=&quot;&lt;?php echo serialize($array) ?&gt;&quot;&gt;
&lt;input type=&quot;hidden&quot; name=&quot;ar&quot; value=&quot;&lt;?php echo $array ?&gt;&quot;&gt;
&lt;p&gt;&lt;input type=&quot;submit&quot; name=&quot;sub1&quot; value=&quot;送信する&quot;&gt;&lt;/p&gt;
&lt;/form&gt;
</code>

これを試すと違いがわかる。

<a href="http://spiral-records.com/psts-lib/php/base64decodeandserialize.php" target="_blank">サンプル実行ページ</a>
]]></description>
         <link>http://www.spiral-records.com/psts/2011/12/base64_decodeserialize.html</link>
         <guid>http://www.spiral-records.com/psts/2011/12/base64_decodeserialize.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">php</category>
        
        
         <pubDate>Mon, 26 Dec 2011 13:40:04 +0900</pubDate>
      </item>
      
      <item>
         <title>foreach文</title>
         <description><![CDATA[<h3>要素の値を取得</h3>
<blockquote>foreach( 配列 as $value )
{
  // 配列の終わりまで、繰り返し処理。
}</blockquote>

<h3>インデックスと要素の値を取得</h3>
<blockquote>foreach( 配列 as $key => $value )
{
  // 配列の終わりまで、繰り返し処理。
}
</blockquote>

「continue （スキップ）」・「break （中断）」も利用でき、それを使った例。
text1は飛ばして、text4で中断なので、ポストされた配列のうち、text2とtext3の2つだけ表示される。breakはbreakに指定されたものも実行しないので、指定したものを実行して中断ではない。
<code>
&lt;?php
foreach($_POST as $data =&gt; $val){
	if($data == text1) continue;
	if($data == text4) break;
	echo $data.&quot;=&quot;.$val.&#039;&lt;br&gt;&#039;;
}
?&gt;
&lt;form method=&quot;post&quot; action=&quot;&quot;&gt;
&lt;input type=&quot;text&quot; name=&quot;text1&quot; /&gt;
&lt;input type=&quot;text&quot; name=&quot;text2&quot; /&gt;
&lt;input type=&quot;text&quot; name=&quot;text3&quot; /&gt;
&lt;input type=&quot;text&quot; name=&quot;text4&quot; /&gt;
&lt;input type=&quot;text&quot; name=&quot;text5&quot; /&gt;
&lt;input type=&quot;submit&quot; name=&quot;sub1&quot; value=&quot;送信する&quot; /&gt;
&lt;/form&gt;
</code>
上記コードはこちらでテストできる。→<a href="http://www.spiral-records.com/psts-lib/php/111225.php">http://www.spiral-records.com/psts-lib/php/111225.php</a>

なお、説明文はこちらのほぼパクリ。
<a href="http://9fd.blog92.fc2.com/blog-entry-214.html">初心者向けPHPナビ -  PHP - foreach 文</a>
このサイトが一番わかりやすかったので。
]]></description>
         <link>http://www.spiral-records.com/psts/2011/12/foreach.html</link>
         <guid>http://www.spiral-records.com/psts/2011/12/foreach.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">php</category>
        
        
         <pubDate>Mon, 26 Dec 2011 10:54:11 +0900</pubDate>
      </item>
      
      <item>
         <title>コード表示のためのhtml特殊文字変換ツール</title>
         <description><![CDATA[コード表示のためのhtml特殊文字変換ツールを作った。
... というか、作ったとかいうほどのもんじゃないな。

<a href="http://spiral-records.com/psts-lib/php/specialchars.php" target="_blank">コード表示のためのhtml特殊文字変換ツール</a>

まあ自分用。

ポイントは

htmlspecialchars()

を2回繰り返すところと、\が表示されないように

stripslashes()・・・\（バックスラッシュ）でクォートされた文字列からクォート部分を取り除いて返す関数。

を使っているところ。

抜粋ソースは以下の通り。

<code>
&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;
&lt;textarea cols=&quot;70&quot; rows=&quot;10&quot; name=&quot;codes&quot;&gt;&lt;/textarea&gt;
&lt;input type=&quot;submit&quot; id=&quot;submitbtn&quot; value=&quot;変換する&quot; /&gt;
&lt;input type=&quot;reset&quot; value=&quot;クリア&quot;&gt;
&lt;/form&gt;

&lt;?php
$before = stripslashes($_POST[&quot;codes&quot;]);
$after = htmlspecialchars($before,ENT_QUOTES);
?&gt;
&lt;?php
if($before) {
	echo &#039;&lt;div id=&quot;afterarea&quot;&gt;&#039;;
    echo &#039;&lt;h2&gt;変換後&lt;/h2&gt;&#039;;
    echo &#039;&lt;pre&gt;&#039;;
	echo (htmlspecialchars($after,ENT_QUOTES));
	echo &#039;&lt;/pre&gt;&#039;;
    echo &#039;&lt;/div&gt;&#039;;
	echo &#039;&lt;div id=&quot;beforearea&quot;&gt;&#039;;
    echo &#039;&lt;h2&gt;変換前&lt;/h2&gt;&#039;;
    echo &#039;&lt;pre&gt;&#039;;
	echo $after;
    echo &#039;&lt;/pre&gt;&#039;;
    echo &#039;&lt;/div&gt;&#039;;
}
?&gt;
</code>


]]></description>
         <link>http://www.spiral-records.com/psts/2011/12/html.html</link>
         <guid>http://www.spiral-records.com/psts/2011/12/html.html</guid>
        
          <category domain="http://www.sixapart.com/ns/types#category">php</category>
        
        
         <pubDate>Sun, 25 Dec 2011 01:14:16 +0900</pubDate>
      </item>
      
   </channel>
</rss>

