<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://www.joetsuihk.com/">
  <channel>
    <title>JOE Tsui's Drupal site</title>
    <link>http://www.joetsuihk.com/</link>
    <description />
    <language>en</language>
          <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/joetsuihk" type="application/rss+xml" /><feedburner:emailServiceId>joetsuihk</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
    <title>2009-10-21 php copy array</title>
    <link>http://feedproxy.google.com/~r/joetsuihk/~3/Sj4ux3jvU4E/133</link>
    <description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;我的code 很簡單, 做test driven development 寫test的時候&lt;br /&gt;
pass in 的data 很多時候都要重用&lt;br /&gt;
只是其中一個field 的值修改, 其餘的都不變&lt;br /&gt;
所以:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;&lt;span style="color: #000000"&gt;&lt;span style="color: #0000BB"&gt;&amp;lt;?php&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #007700"&gt;function &lt;/span&gt;&lt;span style="color: #0000BB"&gt;testSubmit&lt;/span&gt;&lt;span style="color: #007700"&gt;(){&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #FF8000"&gt;//init. data&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$data &lt;/span&gt;&lt;span style="color: #007700"&gt;= array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #DD0000"&gt;'user' &lt;/span&gt;&lt;span style="color: #007700"&gt;=&amp;gt; &lt;/span&gt;&lt;span style="color: #DD0000"&gt;'abc'&lt;/span&gt;&lt;span style="color: #007700"&gt;,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: #DD0000"&gt;'password' &lt;/span&gt;&lt;span style="color: #007700"&gt;=&amp;gt; &lt;/span&gt;&lt;span style="color: #DD0000"&gt;'def'&lt;/span&gt;&lt;span style="color: #007700"&gt;,&lt;br /&gt;);&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #FF8000"&gt;//copy array&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$test &lt;/span&gt;&lt;span style="color: #007700"&gt;= &lt;/span&gt;&lt;span style="color: #0000BB"&gt;array_merge&lt;/span&gt;&lt;span style="color: #007700"&gt;(&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$data&lt;/span&gt;&lt;span style="color: #007700"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #FF8000"&gt;//change value&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$test&lt;/span&gt;&lt;span style="color: #007700"&gt;[&lt;/span&gt;&lt;span style="color: #DD0000"&gt;'user'&lt;/span&gt;&lt;span style="color: #007700"&gt;] = &lt;/span&gt;&lt;span style="color: #DD0000"&gt;''&lt;/span&gt;&lt;span style="color: #007700"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #FF8000"&gt;//test&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$this&lt;/span&gt;&lt;span style="color: #007700"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;assertTrue&lt;/span&gt;&lt;span style="color: #007700"&gt;(&lt;/span&gt;&lt;span style="color: #0000BB"&gt;foo&lt;/span&gt;&lt;span style="color: #007700"&gt;(&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$test&lt;/span&gt;&lt;span style="color: #007700"&gt;));&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #FF8000"&gt;//copy again&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$test &lt;/span&gt;&lt;span style="color: #007700"&gt;= &lt;/span&gt;&lt;span style="color: #0000BB"&gt;array_merge&lt;/span&gt;&lt;span style="color: #007700"&gt;(&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$data&lt;/span&gt;&lt;span style="color: #007700"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #FF8000"&gt;//change value&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #007700"&gt;unset(&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$test&lt;/span&gt;&lt;span style="color: #007700"&gt;[&lt;/span&gt;&lt;span style="color: #DD0000"&gt;'user'&lt;/span&gt;&lt;span style="color: #007700"&gt;]);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #FF8000"&gt;//test&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$this&lt;/span&gt;&lt;span style="color: #007700"&gt;-&amp;gt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;assertTrue&lt;/span&gt;&lt;span style="color: #007700"&gt;(&lt;/span&gt;&lt;span style="color: #0000BB"&gt;foo&lt;/span&gt;&lt;span style="color: #007700"&gt;(&lt;/span&gt;&lt;span style="color: #0000BB"&gt;$test&lt;/span&gt;&lt;span style="color: #007700"&gt;));&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000BB"&gt;?&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;那我便可以方便的修改pass in  的data (只修改一個地方)&lt;/p&gt;
&lt;p&gt;重點是, array 的複製要使用 array_merge()...&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=Sj4ux3jvU4E:SsOwlRyFBq4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=Sj4ux3jvU4E:SsOwlRyFBq4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?i=Sj4ux3jvU4E:SsOwlRyFBq4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=Sj4ux3jvU4E:SsOwlRyFBq4:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=Sj4ux3jvU4E:SsOwlRyFBq4:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=Sj4ux3jvU4E:SsOwlRyFBq4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?i=Sj4ux3jvU4E:SsOwlRyFBq4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/joetsuihk/~4/Sj4ux3jvU4E" height="1" width="1"/&gt;</description>
     <comments>http://www.joetsuihk.com/node/133#comments</comments>
 <category domain="http://www.joetsuihk.com/taxonomy/term/53">array</category>
 <category domain="http://www.joetsuihk.com/free_tags/php">PHP</category>
 <pubDate>Wed, 21 Oct 2009 12:00:06 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">133 at http://www.joetsuihk.com</guid>
  <feedburner:origLink>http://www.joetsuihk.com/node/133</feedburner:origLink></item>
  <item>
    <title>2009-09-11 Drupal.org module list RSS</title>
    <link>http://feedproxy.google.com/~r/joetsuihk/~3/ZgDpOkKu2-Y/132</link>
    <description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;Drupal.org 的 module list 不知道為什麼沒有 RSS feed 提供&lt;br /&gt;
一直想知道最新的 module 豈不要天天造訪 &lt;a href="http://drupal.org/project/modules?solrsort=ds_project_latest_release%20desc" title="http://drupal.org/project/modules?solrsort=ds_project_latest_release%20desc"&gt;http://drupal.org/project/modules?solrsort=ds_project_latest_release%20desc&lt;/a&gt; ?&lt;/p&gt;
&lt;p&gt;將網頁轉為 RSS: google convert pages to feed&lt;br /&gt;
第一個便提供答案了&lt;br /&gt;
feed43.com&lt;/p&gt;
&lt;p&gt;免註冊, 免個人資料&lt;br /&gt;
只是設定 feed 的內容可能對一般使用者有一點點難度&lt;br /&gt;
但相比 reg. exp. 真的是小巫見大巫&lt;/p&gt;
&lt;p&gt;教學就免了, 直接提供 feed url:&lt;br /&gt;
&lt;a href="http://feed43.com/0381225752022813.xml" title="http://feed43.com/0381225752022813.xml"&gt;http://feed43.com/0381225752022813.xml&lt;/a&gt;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=ZgDpOkKu2-Y:aFjx1-ix7-M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=ZgDpOkKu2-Y:aFjx1-ix7-M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?i=ZgDpOkKu2-Y:aFjx1-ix7-M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=ZgDpOkKu2-Y:aFjx1-ix7-M:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=ZgDpOkKu2-Y:aFjx1-ix7-M:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=ZgDpOkKu2-Y:aFjx1-ix7-M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?i=ZgDpOkKu2-Y:aFjx1-ix7-M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/joetsuihk/~4/ZgDpOkKu2-Y" height="1" width="1"/&gt;</description>
     <comments>http://www.joetsuihk.com/node/132#comments</comments>
 <category domain="http://www.joetsuihk.com/taxonomy/term/51">modules</category>
 <category domain="http://www.joetsuihk.com/taxonomy/term/52">RSS</category>
 <pubDate>Sat, 12 Sep 2009 18:12:43 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">132 at http://www.joetsuihk.com</guid>
  <feedburner:origLink>http://www.joetsuihk.com/node/132</feedburner:origLink></item>
  <item>
    <title>2009-09-10 form to email 2分鐘完成</title>
    <link>http://feedproxy.google.com/~r/joetsuihk/~3/GausGiPIAUg/131</link>
    <description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;近來因為真的因為太多案子&lt;br /&gt;
這邊很久有update 了&lt;/p&gt;
&lt;p&gt;又因為真的太多案子&lt;br /&gt;
古怪, 快速, 而又欠缺美感的想法, 一直被我無情的實現了&lt;/p&gt;
&lt;p&gt;要求:&lt;br /&gt;
表單轉成email&lt;span class="read-more"&gt;&lt;a href="/node/131"&gt;&lt;strong&gt; &gt;Read more&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=GausGiPIAUg:W2iUSv96yuo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=GausGiPIAUg:W2iUSv96yuo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?i=GausGiPIAUg:W2iUSv96yuo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=GausGiPIAUg:W2iUSv96yuo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=GausGiPIAUg:W2iUSv96yuo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=GausGiPIAUg:W2iUSv96yuo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?i=GausGiPIAUg:W2iUSv96yuo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/joetsuihk/~4/GausGiPIAUg" height="1" width="1"/&gt;</description>
     <comments>http://www.joetsuihk.com/node/131#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <pubDate>Fri, 11 Sep 2009 12:22:10 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">131 at http://www.joetsuihk.com</guid>
  <feedburner:origLink>http://www.joetsuihk.com/node/131</feedburner:origLink></item>
  <item>
    <title>2009-08-08 htmlentities() 和 html_entity_decode()</title>
    <link>http://feedproxy.google.com/~r/joetsuihk/~3/Y9KmeEueEZ8/130</link>
    <description>&lt;!-- google_ad_section_start --&gt;&lt;p&gt;htmlentities() 和 html_entity_decode()&lt;/p&gt;
&lt;p&gt;htmlentities()&lt;br /&gt;
&lt;a href="http://www.php.net/manual/en/function.htmlentities.php" title="http://www.php.net/manual/en/function.htmlentities.php"&gt;http://www.php.net/manual/en/function.htmlentities.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;功能上很簡單, 就是將 &amp;lt; 變作 &amp;amp;lt;&lt;br /&gt;
當然, 還有其他的entities, 可以參考: &lt;a href="http://www.w3schools.com/tags/ref_entities.asp" title="http://www.w3schools.com/tags/ref_entities.asp"&gt;http://www.w3schools.com/tags/ref_entities.asp&lt;/a&gt;&lt;br /&gt;
主要是給使用者輸入的 entities 會 escape, 輸出的時候便可以直接使用&lt;/p&gt;
&lt;p&gt;另一方面,&lt;span class="read-more"&gt;&lt;a href="/node/130"&gt;&lt;strong&gt; &gt;Read more&lt;/strong&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;!-- google_ad_section_end --&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=Y9KmeEueEZ8:hCkdhYl9o-A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=Y9KmeEueEZ8:hCkdhYl9o-A:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?i=Y9KmeEueEZ8:hCkdhYl9o-A:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=Y9KmeEueEZ8:hCkdhYl9o-A:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=Y9KmeEueEZ8:hCkdhYl9o-A:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/joetsuihk?a=Y9KmeEueEZ8:hCkdhYl9o-A:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/joetsuihk?i=Y9KmeEueEZ8:hCkdhYl9o-A:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/joetsuihk/~4/Y9KmeEueEZ8" height="1" width="1"/&gt;</description>
     <comments>http://www.joetsuihk.com/node/130#comments</comments>
 <category domain="http://www.joetsuihk.com/free_tags/development">Development</category>
 <category domain="http://www.joetsuihk.com/free_tags/php">PHP</category>
 <pubDate>Sat, 08 Aug 2009 16:18:59 +0000</pubDate>
 <dc:creator>JOE</dc:creator>
 <guid isPermaLink="false">130 at http://www.joetsuihk.com</guid>
  <feedburner:origLink>http://www.joetsuihk.com/node/130</feedburner:origLink></item>
  </channel>
</rss>
