<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5441231030810135823</id><updated>2011-11-28T08:01:17.690+08:00</updated><category term='gfw'/><category term='xml'/><category term='blackberry'/><category term='blogger'/><category term='乱码'/><category term='soap'/><category term='php'/><category term='Now SMS/MMS GateWay'/><category term='C'/><category term='nusoap'/><category term='simplexmlelement'/><category term='javacript'/><category term='浏览器'/><category term='googlemap'/><category term='序列化'/><category term='serialize'/><category term='基础算法'/><category term='gmail'/><title type='text'>三叶草</title><subtitle type='html'>这是阿彪和花花的博客。</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>60</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-643653300335379142</id><published>2009-06-08T16:54:00.001+08:00</published><updated>2009-06-08T16:54:16.059+08:00</updated><title type='text'>php探测编码</title><content type='html'>&lt;div&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;span style="COLOR: #008080"&gt;&amp;lt;?php&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//探测编码。注意：由于gb2312，gbk，big5范围有重合，按照最小范围判断&lt;/span&gt;&lt;br&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/span&gt;&lt;font color="#000000"&gt; &lt;span style="COLOR: #000000"&gt;get_encoding&lt;/span&gt;(&lt;span style="COLOR: #000000"&gt;$string&lt;/span&gt;)&lt;br&gt; &lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #000000"&gt;$re&lt;/span&gt;&lt;/font&gt;&lt;span style="COLOR: #000000"&gt;[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;#39;utf-8&amp;#39;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;]&lt;/span&gt;&lt;font color="#000000"&gt; &lt;span style="COLOR: #000000"&gt;=&lt;/span&gt; &lt;/font&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;/[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x01&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x7f&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]|[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xc2&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xdf&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;][&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x80&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xbf&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]|[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xe0&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xef&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;][&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x80&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xbf&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]{2}|[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xf0&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xff&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;][&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x80&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xbf&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]{3}/&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #000000"&gt;$re&lt;/span&gt;&lt;/font&gt;&lt;span style="COLOR: #000000"&gt;[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;#39;gb2312&amp;#39;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;]&lt;/span&gt;&lt;font color="#000000"&gt; &lt;span style="COLOR: #000000"&gt;=&lt;/span&gt; &lt;/font&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;/[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x01&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x7f&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]|[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xb0&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xf7&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;][&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xa0&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xfe&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]/&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #000000"&gt;$re&lt;/span&gt;&lt;/font&gt;&lt;span style="COLOR: #000000"&gt;[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;#39;gbk&amp;#39;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;]&lt;/span&gt;&lt;font color="#000000"&gt; &lt;span style="COLOR: #000000"&gt;=&lt;/span&gt; &lt;/font&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;/[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x01&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x7f&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]|[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x81&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xfe&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;][&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x40&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xfe&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]/&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #000000"&gt;$re&lt;/span&gt;&lt;/font&gt;&lt;span style="COLOR: #000000"&gt;[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;#39;big5&amp;#39;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;]&lt;/span&gt;&lt;font color="#000000"&gt; &lt;span style="COLOR: #000000"&gt;=&lt;/span&gt; &lt;/font&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;/[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x01&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x7f&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]|[&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x81&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xfe&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]([&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x40&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\x7e&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;]|&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xa1&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;-&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;\xfe&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;])/&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;foreach&lt;/span&gt;&lt;font color="#000000"&gt;( &lt;span style="COLOR: #000000"&gt;$re&lt;/span&gt; &lt;/font&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;as&lt;/span&gt;&lt;font color="#000000"&gt; &lt;span style="COLOR: #000000"&gt;$encoding&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;=&amp;gt;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;$pattern&lt;/span&gt; )&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #000000"&gt;$rstring&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;=&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;preg_replace&lt;/span&gt;(&lt;span style="COLOR: #000000"&gt;$pattern&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;,&lt;/span&gt; &lt;/font&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;,&lt;/span&gt;&lt;font color="#000000"&gt; &lt;span style="COLOR: #000000"&gt;$string&lt;/span&gt;);&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt;&lt;font color="#000000"&gt;( &lt;span style="COLOR: #000000"&gt;$rstring&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;==&lt;/span&gt; &lt;/font&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;font color="#000000"&gt;)&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;span style="COLOR: #000000"&gt;$encoding&lt;/span&gt;;&lt;br&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;br&gt;&lt;font color="#000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/span&gt;&lt;font color="#000000"&gt; &lt;/font&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;null&lt;/span&gt;&lt;font color="#000000"&gt;;&lt;br&gt; &lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;span style="COLOR: #008080"&gt;?&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt; &lt;p&gt;注意：遇到内有乱码或者错误字符的情况未作测试，例如半个汉字的情形。&lt;/p&gt; &lt;div&gt;&lt;span style="COLOR: #008080"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-643653300335379142?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/643653300335379142/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/06/php_08.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/643653300335379142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/643653300335379142'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/06/php_08.html' title='php探测编码'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-8600271517163847148</id><published>2009-06-08T16:47:00.001+08:00</published><updated>2009-06-08T16:47:17.349+08:00</updated><title type='text'>php探测字符编码</title><content type='html'>&amp;lt;DIV style=&amp;quot;BACKGROUND: #fdfdfd; COLOR: black&amp;quot;&amp;gt;&amp;lt;U&amp;gt;PHP语言&amp;lt;/U&amp;gt;: &amp;lt;A&lt;br&gt;href=&amp;quot;&lt;a href="http://fayaa.com/code/view/1934/"&gt;http://fayaa.com/code/view/1934/&lt;/a&gt;&amp;quot;&amp;gt;Codee#1934&amp;lt;/A&amp;gt;&amp;lt;/DIV&amp;gt;&lt;br&gt;&amp;lt;DIV class=source style=&amp;quot;COLOR: #000000; FONT-FAMILY:&lt;br&gt;&amp;#39;[object]&amp;#39;,&amp;#39;Consolas&amp;#39;,&amp;#39;Lucida Console&amp;#39;,&amp;#39;Courier New&amp;#39;;&lt;br&gt;BACKGROUND-COLOR: #f9f7ed&amp;quot; jQuery1244450739390=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#008080&amp;quot;&amp;gt;&amp;amp;lt;?php&amp;lt;/SPAN&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #008800;&lt;br&gt;FONT-STYLE: italic&amp;quot;&amp;gt;//探测编码。注意：由于gb2312，gbk，big5范围有重合，按照最小范围判断&amp;lt;/SPAN&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;FONT-WEIGHT: bold; COLOR: #000080&amp;quot;&amp;gt;function&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;get_encoding&amp;lt;/SPAN&amp;gt;(&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;$string&amp;lt;/SPAN&amp;gt;)&amp;lt;BR&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;{&amp;lt;/SPAN&amp;gt;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;$re&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;&amp;amp;#39;utf-8&amp;amp;#39;&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;]&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;=&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;&amp;amp;quot;/[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\x01&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\x7f&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;]|[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xc2&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\xdf&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;][&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\x80&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xbf&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;]|[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\xe0&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xef&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;][&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\x80&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\xbf&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;]{2}|[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xf0&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xff&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;][&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\x80&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xbf&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;]{3}/&amp;amp;quot;&amp;lt;/SPAN&amp;gt;;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;$re&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;&amp;amp;#39;gb2312&amp;amp;#39;&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;]&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;=&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;&amp;amp;quot;/[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\x01&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\x7f&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;]|[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xb0&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\xf7&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;][&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xa0&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xfe&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;]/&amp;amp;quot;&amp;lt;/SPAN&amp;gt;;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;$re&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;&amp;amp;#39;gbk&amp;amp;#39;&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;]&amp;lt;/SPAN&amp;gt;&lt;br&gt;&amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;=&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;&amp;amp;quot;/[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\x01&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\x7f&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;]|[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\x81&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xfe&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;][&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\x40&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xfe&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;]/&amp;amp;quot;&amp;lt;/SPAN&amp;gt;;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;$re&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;&amp;amp;#39;big5&amp;amp;#39;&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;]&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;=&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;&amp;amp;quot;/[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\x01&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\x7f&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;]|[&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\x81&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\xfe&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;]([&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\x40&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\x7e&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;]|&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;\xa1&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;-&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;\xfe&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;])/&amp;amp;quot;&amp;lt;/SPAN&amp;gt;;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br&gt;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;SPAN style=&amp;quot;FONT-WEIGHT: bold; COLOR:&lt;br&gt;#000080&amp;quot;&amp;gt;foreach&amp;lt;/SPAN&amp;gt;( &amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;$re&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;FONT-WEIGHT: bold; COLOR: #000080&amp;quot;&amp;gt;as&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;$encoding&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;=&amp;amp;gt;&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;$pattern&amp;lt;/SPAN&amp;gt;&lt;br&gt;)&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;{&amp;lt;/SPAN&amp;gt;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;$rstring&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;=&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;preg_replace&amp;lt;/SPAN&amp;gt;(&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;$pattern&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;,&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #0000ff&amp;quot;&amp;gt;&amp;amp;quot;&amp;amp;quot;&amp;lt;/SPAN&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;,&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;$string&amp;lt;/SPAN&amp;gt;);&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br&gt;&amp;lt;SPAN style=&amp;quot;FONT-WEIGHT: bold; COLOR: #000080&amp;quot;&amp;gt;if&amp;lt;/SPAN&amp;gt;( &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;$rstring&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;==&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#0000ff&amp;quot;&amp;gt;&amp;amp;quot;&amp;amp;quot;&amp;lt;/SPAN&amp;gt;)&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br&gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#000000&amp;quot;&amp;gt;{&amp;lt;/SPAN&amp;gt;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br&gt;&amp;lt;SPAN style=&amp;quot;FONT-WEIGHT: bold; COLOR: #000080&amp;quot;&amp;gt;return&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;$encoding&amp;lt;/SPAN&amp;gt;;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br&gt;&amp;lt;SPAN style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;}&amp;lt;/SPAN&amp;gt;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;}&amp;lt;/SPAN&amp;gt;&amp;lt;BR&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;FONT-WEIGHT: bold; COLOR: #000080&amp;quot;&amp;gt;return&amp;lt;/SPAN&amp;gt; &amp;lt;SPAN&lt;br&gt;style=&amp;quot;FONT-WEIGHT: bold; COLOR: #000080&amp;quot;&amp;gt;null&amp;lt;/SPAN&amp;gt;;&amp;lt;BR&amp;gt;&amp;lt;SPAN&lt;br&gt;style=&amp;quot;COLOR: #000000&amp;quot;&amp;gt;}&amp;lt;/SPAN&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;SPAN style=&amp;quot;COLOR:&lt;br&gt;#008080&amp;quot;&amp;gt;?&amp;amp;gt;&amp;lt;/SPAN&amp;gt;&amp;lt;BR&amp;gt;&amp;lt;/DIV&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-8600271517163847148?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/8600271517163847148/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/06/php.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8600271517163847148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8600271517163847148'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/06/php.html' title='php探测字符编码'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-7620291061370205251</id><published>2009-04-23T15:57:00.002+08:00</published><updated>2009-04-23T16:10:53.673+08:00</updated><title type='text'>php simplexml object to array</title><content type='html'>一般使用simplexml来解析xml文档，比较方便，但有时侯需要把文档转为php的标准数组来操作。&lt;br /&gt;&lt;br /&gt;下面写了一个函数用来把simplexml对象转换为数组，支持SimpleXMLElement和SimpleXMLIterator对象。&lt;br /&gt;&lt;br /&gt;&lt;DIV style="BACKGROUND: #fdfdfd; COLOR: black"&gt;&lt;U&gt;PHP语言&lt;/U&gt;: &lt;A href="http://fayaa.com/code/view/792/"&gt;php simplexml文档对象转换为标准数组&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="COLOR: #000000; FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f9f7ed" jQuery1240473604984="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//simplexml文档对象转换为标准数组&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;simplexml_obj2array&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;$obj&lt;/SPAN&gt;)&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #000000"&gt;count&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;$obj&lt;/SPAN&gt;) &lt;SPAN style="COLOR: #000000"&gt;&amp;gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt; )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;$result&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;$keys&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;array&lt;/SPAN&gt;();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;foreach&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #000000"&gt;$obj&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;as&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$value&lt;/SPAN&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;isset&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;$keys&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;])&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;?&lt;/SPAN&gt; (&lt;SPAN style="COLOR: #000000"&gt;$keys&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;]&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;+=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;) &lt;SPAN style="COLOR: #000000"&gt;:&lt;/SPAN&gt; (&lt;SPAN style="COLOR: #000000"&gt;$keys&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;]&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #000000"&gt;$keys&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;]&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;==&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt; )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;$result&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;]&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;simplexml_obj2array&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;$value&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;elseif&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #000000"&gt;$keys&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;]&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;==&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;2&lt;/SPAN&gt; )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;$result&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;]&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;array&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;$result&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;],&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;simplexml_obj2array&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;$value&lt;/SPAN&gt;));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;else&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #000000"&gt;$keys&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;]&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;2&lt;/SPAN&gt; )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;$result&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$key&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;][]&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;simplexml_obj2array&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;$value&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;$result&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;else&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #000000"&gt;count&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;$obj&lt;/SPAN&gt;) &lt;SPAN style="COLOR: #000000"&gt;==&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt; )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; (&lt;SPAN style="COLOR: #000000"&gt;string&lt;/SPAN&gt;)&lt;SPAN style="COLOR: #000000"&gt;$obj&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;示例：&lt;br /&gt;&lt;DIV class=source style="COLOR: #000000; FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f9f7ed" jQuery1240473916812="2"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;$string&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding="UTF-8"?&amp;gt;&amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;root&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;name&amp;gt;&amp;lt;![CDATA[三叶草]]&amp;gt;&amp;lt;/name&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;url&amp;gt;&amp;lt;![CDATA[http://bloomandkevin.cn]]&amp;gt;&amp;lt;/url&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;items&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;product&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;&amp;lt;![CDATA[三叶草]]&amp;gt;&amp;lt;/name&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url&amp;gt;&amp;lt;![CDATA[http://bloomandkevin.cn]]&amp;gt;&amp;lt;/url&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/product&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;product&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;name&amp;gt;&amp;lt;![CDATA[三叶草]]&amp;gt;&amp;lt;/name&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;url&amp;gt;&amp;lt;![CDATA[http://bloomandkevin.cn]]&amp;gt;&amp;lt;/url&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/product&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/items&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;lt;/root&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&lt;/SPAN&gt;;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;var_dump&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #000000"&gt;simplexml_obj2array&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;simplexml_load_string&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;$string&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;SimpleXMLElement&amp;#39;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;LIBXML_NOCDATA&lt;/SPAN&gt;)));&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;结果：&lt;br /&gt;&lt;DIV class=source style="COLOR: #000000; FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f9f7ed" jQuery1240474004187="2"&gt;&lt;SPAN style="COLOR: #000000"&gt;array(3) {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp; [&amp;quot;name&amp;quot;]=&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp; string(9) &amp;quot;三叶草&amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp; [&amp;quot;url&amp;quot;]=&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp; string(23) &amp;quot;http://bloomandkevin.cn&amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp; [&amp;quot;items&amp;quot;]=&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp; array(1) {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;quot;product&amp;quot;]=&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; array(2) {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [0]=&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array(2) {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;quot;name&amp;quot;]=&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string(9) &amp;quot;三叶草&amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;quot;url&amp;quot;]=&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string(23) &amp;quot;http://bloomandkevin.cn&amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [1]=&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array(2) {&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;quot;name&amp;quot;]=&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string(9) &amp;quot;三叶草&amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&amp;quot;url&amp;quot;]=&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string(23) &amp;quot;http://bloomandkevin.cn&amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;缺点：&lt;br /&gt;丢失了XML节点中的属性值。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-7620291061370205251?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/7620291061370205251/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/04/php-simplexml-object-to-array.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7620291061370205251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7620291061370205251'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/04/php-simplexml-object-to-array.html' title='php simplexml object to array'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-7740726268984119147</id><published>2009-04-20T17:04:00.002+08:00</published><updated>2009-04-20T17:10:15.358+08:00</updated><title type='text'>Linux下PHP保持进程唯一运行</title><content type='html'>&lt;DIV style="BACKGROUND: #fdfdfd; COLOR: black"&gt;&lt;U&gt;PHP语言&lt;/U&gt;: &lt;A href="http://fayaa.com/code/view/785/"&gt;确认进程唯一，防止死掉&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="COLOR: #000000; FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f9f7ed" jQuery1240218294984="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//确认进程唯一，防止死掉&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;check_proc&lt;/SPAN&gt;() &lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #000000"&gt;$pidfile&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;@&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;file_get_contents&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;./my.pid&amp;quot;&lt;/SPAN&gt;) )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;list&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #000000"&gt;$pid&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;$last_time&lt;/SPAN&gt;) &lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;explode&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;,&amp;quot;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;$pidfile&lt;/SPAN&gt;);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #000000"&gt;$link&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;=&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;@&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;readlink&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;/proc/&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;{&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$pid&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;/exe&amp;quot;&lt;/SPAN&gt;) )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( &lt;SPAN style="COLOR: #000000"&gt;time&lt;/SPAN&gt;()&lt;SPAN style="COLOR: #000000"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$last_time&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;60&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;*&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;60&lt;/SPAN&gt; )&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//1 hour&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//超时KILL掉那个进程&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;system&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;kill -9 &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;{&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;$pid&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;else&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;{&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;echo&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;already exist, process exit.&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\n&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;exit&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//写入当前PID信息&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #000000"&gt;file_put_contents&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;./my.pid&amp;quot;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;,&lt;/SPAN&gt; &lt;SPAN style="COLOR: #000000"&gt;getmypid&lt;/SPAN&gt;()&lt;SPAN style="COLOR: #000000"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;,&amp;#39;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;.&lt;/SPAN&gt;&lt;SPAN style="COLOR: #000000"&gt;time&lt;/SPAN&gt;() );&lt;BR&gt;&lt;SPAN style="COLOR: #000000"&gt;}&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;getmypid()获取进程的ID。&lt;br /&gt;&lt;br /&gt;在PHP程序起始处运行此函数，即可确保进程唯一，且可以踢掉超时的进程。&lt;br /&gt;&lt;br /&gt;也可以使用shell_exec("ps aux|grep ".$pid)来判断进程是否存在。对Linux越熟悉就越多方法。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-7740726268984119147?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/7740726268984119147/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/04/linuxphp.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7740726268984119147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7740726268984119147'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/04/linuxphp.html' title='Linux下PHP保持进程唯一运行'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-5135718735590438796</id><published>2009-03-31T13:10:00.002+08:00</published><updated>2009-03-31T13:13:34.552+08:00</updated><title type='text'>php一行搞定过滤字符</title><content type='html'>&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;U&gt;PHP语言&lt;/U&gt;: &lt;A href="http://fayaa.com/code/view/735/"&gt;过滤掉错误字符&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f9f7ed" jQuery1238476271093="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;iconv(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;GBK&amp;#39;&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;GBK//IGNORE&amp;#39;&lt;/SPAN&gt;, $file);&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//过滤掉错误字符,防止解析错误&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;解决问题：如果你的文件中含有错误字符，在执行解析xml等操作时有时会引发解析错误。在解析xml文档时若头部编码为gb2312，尽量替换为gbk。&lt;br /&gt;&lt;br /&gt;方法：iconv，将进出编码均设置为同一编码即可，加上'//IGNORE'即可。&lt;br /&gt;&lt;br /&gt;优点：省去自己解析字串剔除错误编码，非常方便。&lt;br /&gt;&lt;br /&gt;应用场景：&lt;br /&gt;&lt;br /&gt;1.使用simplexml_load_file(),simplexml_load_string()，出现错误Premature end of data in tag...。改用file_get_contents()，然后iconv()，再simplexml_load_string()即可。&lt;br /&gt;&lt;br /&gt;2.Warning: SimpleXMLElement::__construct() [function.SimpleXMLElement---construct]:&lt;br /&gt;input conversion failed due to input error, bytes 0xC2 0x2E 0x20 0x20 in。。。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-5135718735590438796?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/5135718735590438796/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/php_31.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/5135718735590438796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/5135718735590438796'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/php_31.html' title='php一行搞定过滤字符'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-841053965751015637</id><published>2009-03-23T11:47:00.002+08:00</published><updated>2009-03-23T11:57:21.900+08:00</updated><title type='text'>黑莓所有按键失效</title><content type='html'>昨天我的黑莓所有按键全部失效了，原因是因为轨迹球下方的触点移位了，导致触点一直处于按下状态，所以其它按键通通无效了。&lt;br /&gt;&lt;br /&gt;送修也是很郁闷，中关村鼎好地下一层，虽然卖家人品还好，免费给维修了。但修理的结果确实郁闷，拧裂了机壳，太暴力了，电池后盖合上还总有缝，键盘有两个键也大不如以前好使了。泪奔。。。我的882啊&lt;br /&gt;&lt;br /&gt;以为很大的问题呢，如果知道只是这么一点小问题，我就自己在家修了。&lt;br /&gt;&lt;br /&gt;学到一点小技巧，处理手机内屏的灰尘时，用胶带粘去即可，注意胶的粘性不可太强，否则会适得其反会把胶留在内屏里头。以前我拆了手机总是处理不掉里面的灰尘。手机在保质期内还是送修吧，别自己把问题搞大了，还无法保修。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-841053965751015637?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/841053965751015637/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/blog-post_23.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/841053965751015637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/841053965751015637'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/blog-post_23.html' title='黑莓所有按键失效'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-6137419004268291322</id><published>2009-03-23T11:11:00.004+08:00</published><updated>2009-03-23T11:21:05.065+08:00</updated><title type='text'>EACCELERATOR导致Apache宕机</title><content type='html'>最近服务器总出现apache宕机，错误日志总出现类似的记录，EACCELERATOR: PHP crashed on opline...&lt;br /&gt;例：&lt;br /&gt;[2332] EACCELERATOR: PHP crashed on opline 73 of query() at /XXX/app/vendors/classes_common.php:294&lt;br /&gt;&lt;br /&gt;解决办法：&lt;br /&gt;1.eaccelerator.filter选项中过滤掉出错的文件。&lt;br /&gt;我尝试了，但开启debug后，在日志里依然可以发现过滤文件的踪影，郁闷。&lt;br /&gt;&lt;br /&gt;2.关掉eaccelerator。PHP5.2.6后的版本已经优化的很不错了，加上zend出的加速器，速度还可以。&lt;br /&gt;&lt;br /&gt;配置：apache 2.2.4 + php 5.2.5 + windows server 2003&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;参考&lt;br /&gt;[1]http://bbs.laxjyj.com/read-htm-tid-4678360.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-6137419004268291322?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/6137419004268291322/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/eacceleratorapache.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6137419004268291322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6137419004268291322'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/eacceleratorapache.html' title='EACCELERATOR导致Apache宕机'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-3788622315576664038</id><published>2009-03-21T13:17:00.003+08:00</published><updated>2009-03-21T13:22:35.989+08:00</updated><title type='text'>动心是否值得？</title><content type='html'>&lt;div align="center"&gt;佛云人有七苦，生、老、病、死、爱别离、怨憎会、求不得。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-3788622315576664038?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/3788622315576664038/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/blog-post_21.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/3788622315576664038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/3788622315576664038'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/blog-post_21.html' title='动心是否值得？'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-4197738265903053758</id><published>2009-03-18T22:25:00.002+08:00</published><updated>2009-03-18T22:30:47.421+08:00</updated><title type='text'>闷</title><content type='html'>在友播找王菲的《闷》居然排在后面N多页，匪夷所思，友播算是我觉得还行的网站，品味比google music稍微好那么一些，但也好不到哪里去。一个字：真烂！&lt;br /&gt;&lt;br /&gt;公司一堆不太熟的人，唱歌实在不是什么好打算，品味差异太大了，听靡靡之音实在烦得很，来点痛快的行不？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-4197738265903053758?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/4197738265903053758/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/blog-post_18.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4197738265903053758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4197738265903053758'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/blog-post_18.html' title='闷'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-8141301645338697203</id><published>2009-03-18T14:09:00.002+08:00</published><updated>2009-03-18T14:41:54.170+08:00</updated><title type='text'>[PHP]PDO连接MS SQL SERVER/ORACLE二三事</title><content type='html'>项目中的用到了很多个数据库，主要是ms sql server 2005和oracle，这里用php pdo写了一个数据库操作类，非常方便。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ORACLE：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;U&gt;PHP语言&lt;/U&gt;: &lt;A href="http://fayaa.com/code/view/721/"&gt;php pdo oracle&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f9f7ed" jQuery1237357025609="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;class&lt;/SPAN&gt; comm_pdo &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;extends&lt;/SPAN&gt; PDO {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//单件模式&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;static&lt;/SPAN&gt; $instance = &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;false&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; __construct() {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;try&lt;/SPAN&gt; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;parent&lt;/SPAN&gt;::&lt;SPAN style="COLOR: #ff0000"&gt;__construct&lt;/SPAN&gt;(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configure::&lt;SPAN style="COLOR: #ff0000"&gt;read&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;DB.comm_dsn&amp;#39;&lt;/SPAN&gt;),&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configure::&lt;SPAN style="COLOR: #ff0000"&gt;read&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;DB.comm_username&amp;#39;&lt;/SPAN&gt;),&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configure::&lt;SPAN style="COLOR: #ff0000"&gt;read&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;DB.comm_password&amp;#39;&lt;/SPAN&gt;),&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;array&lt;/SPAN&gt;(PDO::&lt;SPAN style="COLOR: #ff0000"&gt;ATTR_PERSISTENT&lt;/SPAN&gt; =&amp;gt; Configure::&lt;SPAN style="COLOR: #ff0000"&gt;read&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;DB.comm_pconnect&amp;#39;&lt;/SPAN&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//设置时间格式&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $this-&amp;gt;&lt;SPAN style="COLOR: #ff0000"&gt;exec&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;alter session set NLS_DATE_FORMAT=&amp;#39;YYYY-MM-DD HH24:MI:SS&amp;#39; &amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;catch&lt;/SPAN&gt; ( PDOException&amp;nbsp; $e){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;die&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;评论数据库连接错误!&amp;lt;br/&amp;gt;&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;/**&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 单件模式接口&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return comm_pdo()&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; getInstance() {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;(!comm_pdo::$instance)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; comm_pdo::$instance = &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;new&lt;/SPAN&gt; comm_pdo();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; comm_pdo::$instance;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;/**&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 根据单品的ID查询关于此的评论。无结果返回false&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param int $pid 产品ID&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param int $offset 偏移量&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param int $size 条目数&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return mixed&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; fetchReviewsByPID($pid, $offset=&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;, $size=&lt;SPAN style="COLOR: #0000ff"&gt;10&lt;/SPAN&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//根据产品的ID查询&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $q = $this-&amp;gt;&lt;SPAN style="COLOR: #ff0000"&gt;query&lt;/SPAN&gt;(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * from&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select A.*,ROWNUM RN from &lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select * from XXXXX.COM_REVIEW &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where SUBJECT_ID=&amp;#39;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;{&lt;/SPAN&gt;$pid&lt;SPAN style="COLOR: #0000ff"&gt;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ORDER BY TOTAL_FEEDBACK_NUM DESC, CREATION_DATE DESC&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) A where ROWNUM&amp;lt;=&amp;#39;&amp;quot;&lt;/SPAN&gt;.($offset+$size).&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&amp;#39;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )where RN &amp;gt;= &amp;#39;&amp;quot;&lt;/SPAN&gt;.($offset+&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;).&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&amp;#39;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( !$q )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;new&lt;/SPAN&gt; Exception(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;查询单品评论失败！&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; $q-&amp;gt;&lt;SPAN style="COLOR: #ff0000"&gt;fetchAll&lt;/SPAN&gt;(PDO::&lt;SPAN style="COLOR: #ff0000"&gt;FETCH_ASSOC&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;/**&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 某商品的评论总数&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @param int $pid&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * @return int&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; fetchReviewSumByPID($pid)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $q = $this-&amp;gt;&lt;SPAN style="COLOR: #ff0000"&gt;query&lt;/SPAN&gt;(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select count(*) from XXXXX.COM_REVIEW &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where SUBJECT_ID=&amp;#39;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;{&lt;/SPAN&gt;$pid&lt;SPAN style="COLOR: #0000ff"&gt;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( !$q )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;new&lt;/SPAN&gt; Exception(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;查询单品评论总数失败！&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $sum = $q-&amp;gt;&lt;SPAN style="COLOR: #ff0000"&gt;fetch&lt;/SPAN&gt;(PDO::&lt;SPAN style="COLOR: #ff0000"&gt;FETCH_NUM&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; $sum ? $sum[&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;] : &lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//....&lt;/SPAN&gt;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;点评：继承PDO，采用单件模式，封装了和评论相关的数据库操作。省去oci_xxxx()之类的繁琐步骤，简洁高效。使用是只需：$comm_pdo = comm_pdo::getInstance();，然后执行相关操作即可。&lt;br /&gt;&lt;br /&gt;内含oracle的分页方法，连接oracle时需要安装oracle的客户端(client_2)，如遇到乱码注意注册表中oracle相关项的设置。还有就是dsn，例：oci:dbname=//192.168.128.57/shequ1。ip地址后面是oracle数据库服务器的一个叫做全局唯一名称之类的东东，问数据库管理员才知道的，费了很大力气才连上。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;MS SQL SERVER 2005:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;U&gt;PHP语言&lt;/U&gt;: &lt;A href="http://fayaa.com/code/view/722/"&gt;php pdo sql server 2005&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f9f7ed" jQuery1237357963312="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;class&lt;/SPAN&gt; soubang_pdo &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;extends&lt;/SPAN&gt; PDO {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;static&lt;/SPAN&gt; $instance = &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;false&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; getInstance()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( !soubang_pdo::$instance )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soubang_pdo::$instance = &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;new&lt;/SPAN&gt; soubang_pdo();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; soubang_pdo::$instance;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; __construct()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;try&lt;/SPAN&gt; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;parent&lt;/SPAN&gt;::&lt;SPAN style="COLOR: #ff0000"&gt;__construct&lt;/SPAN&gt;(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configure::&lt;SPAN style="COLOR: #ff0000"&gt;read&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;DB.soubang_dsn&amp;#39;&lt;/SPAN&gt;),&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configure::&lt;SPAN style="COLOR: #ff0000"&gt;read&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;DB.soubang_username&amp;#39;&lt;/SPAN&gt;),&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Configure::&lt;SPAN style="COLOR: #ff0000"&gt;read&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;DB.soubang_password&amp;#39;&lt;/SPAN&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;/*&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * 这里总是无法完成对MS SQL SERVER持久连接，不知原因&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * code: array(PDO::ATTR_PERSISTENT =&amp;gt; Configure::read(&amp;#39;DB.soubang_pconnect&amp;#39;))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;catch&lt;/SPAN&gt; ( PDOException&amp;nbsp; $e){&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;die&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;单品数据库连接错误!&amp;lt;br/&amp;gt;&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;/**&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; * xxxxxx&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; mostMoveUpPerToday($offset=&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;, $size=&lt;SPAN style="COLOR: #0000ff"&gt;10&lt;/SPAN&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $start = $offset+&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $end = $offset + $size;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $q = $this-&amp;gt;&lt;SPAN style="COLOR: #ff0000"&gt;query&lt;/SPAN&gt;(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT *&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM (&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select *,ROW_NUMBER() Over(order by RankChange DESC) as __rowNum from [XXXX].[dbo].[Board] Where BoardID=2&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ) as myTable&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; where __rowNum between &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;{&lt;/SPAN&gt;$start&lt;SPAN style="COLOR: #0000ff"&gt;}&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt; and &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;{&lt;/SPAN&gt;$end&lt;SPAN style="COLOR: #0000ff"&gt;}&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( !$q )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;throw&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;new&lt;/SPAN&gt; Exception(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;查询今日上升最快关键词失败！&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; $q-&amp;gt;&lt;SPAN style="COLOR: #ff0000"&gt;fetchAll&lt;/SPAN&gt;(PDO::&lt;SPAN style="COLOR: #ff0000"&gt;FETCH_ASSOC&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//.....&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR&gt;}&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;点评：分页比oracle稍微简单一些，不过还是没有mysql快捷。DSN，例：“mssql:host=192.168.xxx.xxx,1433;dbname=XXXX;”。注意端口号和ip之间用英文逗号。&lt;br /&gt;&lt;br /&gt;两个类写的比较粗糙，抛砖引玉。mysql的例子就不用写了，搞php的都很熟悉了。对象PDO和PDOStatement，看手册即可。纵观oracle,sql server 2005,mysql三者，还是mysql的分页来的方便一些，oracle最复杂了，连接配置也很复杂，不过贵还是有贵的道理。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-8141301645338697203?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/8141301645338697203/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/phppdoms-sql-serveroracle.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8141301645338697203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8141301645338697203'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/phppdoms-sql-serveroracle.html' title='[PHP]PDO连接MS SQL SERVER/ORACLE二三事'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-1486809050395185815</id><published>2009-03-17T15:35:00.003+08:00</published><updated>2009-03-17T15:46:22.746+08:00</updated><title type='text'>Notepad++运行python、php</title><content type='html'>F5弹出运行框&lt;br /&gt;&lt;br /&gt;Python：&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f7efe7" jQuery1237275529312="2"&gt;cmd /k C:\Python&lt;SPAN style="COLOR: #0000ff"&gt;25&lt;/SPAN&gt;\python.exe &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;$(FULL_CURRENT_PATH)&amp;quot;&lt;/SPAN&gt; &amp;amp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;ECHO&lt;/SPAN&gt;. &amp;amp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;PAUSE&lt;/SPAN&gt; &amp;amp; EXIT&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;PHP:&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f7efe7" jQuery1237275580750="2"&gt;cmd /k D:/server/php/5.2.5/php.exe &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;$(FULL_CURRENT_PATH)&amp;quot;&lt;/SPAN&gt; &amp;amp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;ECHO&lt;/SPAN&gt;. &amp;amp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;PAUSE&lt;/SPAN&gt; &amp;amp; EXIT&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;可以保存上述命令为快捷方式，想修改快捷键，在 "设置－＞管理快捷键－＞Run Commands" 中修改。&lt;br /&gt;&lt;br /&gt;$(FULL_CURRENT_PATH) 的含义是当前文件的完整路径，这是 Notepad++ 的宏定义，更多的相关宏可以参见官方FAQ：&lt;a href="http://notepad-plus.sourceforge.net/uk/run-HOWTO.php" target="_blank"&gt;Run external tools&lt;/a&gt;。注意要用引号括起来，防止路径中间有空格。 &lt;br /&gt;&lt;br /&gt;更多CMD命令，运行cmd.exe，敲入help命令即可。&lt;br /&gt;&lt;br /&gt;EXIT 退出 CMD.EXE 程序(命令解释程序)。&lt;br /&gt;PAUSE 暂停批文件的处理并显示消息。&lt;br /&gt;ECHO.(或ECHO\) 打印换行。&lt;br /&gt;&lt;br /&gt;参考：http://arccos.blogspot.com/2009/03/notepad-python.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-1486809050395185815?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/1486809050395185815/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/notepadpythonphp.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/1486809050395185815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/1486809050395185815'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/notepadpythonphp.html' title='Notepad++运行python、php'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-2240010490456664838</id><published>2009-03-17T10:43:00.003+08:00</published><updated>2009-03-17T11:32:52.432+08:00</updated><title type='text'>没事做了几道PHP的面试题，传说是新浪的</title><content type='html'>1. 写一个函数，尽可能高效的，从一个标准 url 里取出文件的扩展名&lt;br /&gt;&lt;br /&gt;思路：是标准URL，应该是符合规范的。所以没有考虑复杂的情况。从左边寻找到第一次出现‘？’的位置，然后从此位置向前寻找‘.’号，中间部分既是扩展名。&lt;br /&gt;&lt;br /&gt;&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;U&gt;PHP语言&lt;/U&gt;: &lt;A href="http://fayaa.com/code/view/712/"&gt;从一个标准 url 里取出文件的扩展名&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f7efe7" jQuery1237257866968="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; findFileTypeFromUrl( $url )&lt;BR&gt;{&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( $url == &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&amp;quot;&lt;/SPAN&gt; )&lt;BR&gt;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;false&lt;/SPAN&gt;;&lt;BR&gt;&lt;BR&gt;$r = strpos($url, &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;?&amp;#39;&lt;/SPAN&gt;);&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( $r != &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;false&lt;/SPAN&gt; )&lt;BR&gt;{&lt;BR&gt;&amp;nbsp; $l = strrpos( substr($url, &lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;, $r), &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;.&amp;#39;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//echo &amp;#39;1&amp;#39;;&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; substr($url, $l+&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;, $r-$l-&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;);&lt;BR&gt;}&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;else&lt;/SPAN&gt;&lt;BR&gt;{&lt;BR&gt;&amp;nbsp; $l = strrpos($url, &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;.&amp;#39;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//echo &amp;#39;2&amp;#39;;&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; substr($url, $l+&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;);&lt;BR&gt;} &lt;BR&gt;}&lt;BR&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;2.在 HTML 语言中，页面头部的 meta 标记可以用来输出文件的编码格式，以下是一个标准的 meta 语句&lt;br /&gt;  &amp;lt;META http-equiv='Content-Type' content='text/html; charset=gbk'&amp;gt;&lt;br /&gt;  请使用 PHP 语言写一个函数，把一个标准 HTML 页面中的类似 meta 标记中的 charset 部分值改为 big5&lt;br /&gt;  请注意:&lt;br /&gt;  (1) 需要处理完整的 html 页面，即不光此 meta 语句&lt;br /&gt;  (2) 忽略大小写&lt;br /&gt;  (3) ' 和 " 在此处是可以互换的&lt;br /&gt;  (4) 'Content-Type' 两侧的引号是可以忽略的，但 'text/html; charset=gbk' 两侧的不行&lt;br /&gt;  (5) 注意处理多余空格&lt;br /&gt;&lt;br /&gt;思路：这个写的比较弱，就替换而已。&lt;br /&gt;&lt;br /&gt;&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;U&gt;PHP语言&lt;/U&gt;: &lt;A href="http://fayaa.com/code/view/713/"&gt;把一个标准 HTML 页面中的类似 meta 标记中的 charset 部分值改为 big5&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f7efe7" jQuery1237258243218="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; replaceCharset( $string )&lt;BR&gt;{&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;echo&lt;/SPAN&gt; preg_replace( &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;/(\&amp;lt;meta&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\40&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;+http\-equiv\=[\&amp;#39;|&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\&amp;quot;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]?content\-type[\&amp;#39;|&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\&amp;quot;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]?&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\40&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;+content\=[\&amp;#39;|&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\&amp;quot;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]text\/html;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\40&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;*charset\=)(gbk)[\&amp;#39;|&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\&amp;quot;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\40&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;*\&amp;gt;/i&amp;quot;&lt;/SPAN&gt;,&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\$&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;{1}big5&amp;gt;&amp;quot;&lt;/SPAN&gt;,$string );&lt;BR&gt;}&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt; &lt;br /&gt;3. 写一个函数，算出两个文件的相对路径&lt;br /&gt;如 $a = '/a/b/c/d/e.php';&lt;br /&gt;$b = '/a/b/12/34/c.php';&lt;br /&gt;计算出 $b 相对于 $a 的相对路径应该是 ../../c/d将()添上&lt;br /&gt; &lt;br /&gt;思路：从两个文件的根目录开始比较，找到不一致的地方，然后计算第一个文件需要返回至此的‘../’步数，再就是打开另一个文件的目录路径。函数返回-1表示两个路径完全一致。&lt;br /&gt;&lt;br /&gt;&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;U&gt;PHP语言&lt;/U&gt;: &lt;A href="http://fayaa.com/code/view/714/"&gt;算出两个文件的相对路径&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f7efe7" jQuery1237258411156="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; findDirDiff($a, $b)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( $a{&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;} != &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;/&amp;#39;&lt;/SPAN&gt; || $b{&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;} != &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;/&amp;#39;&lt;/SPAN&gt; )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;false&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $a_array = explode(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;/&amp;#39;&lt;/SPAN&gt;, $a);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b_array = explode(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;/&amp;#39;&lt;/SPAN&gt;, $b);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $a_size = count($a_array)-&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b_size = count($b_array)-&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;for&lt;/SPAN&gt;( $i=&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt; ; $i &amp;lt;= $a_size; $i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( (!isset($b_array[$i])) || $a_array[$i] != $b_array[$i] )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $i--;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;break&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $a_upSteps = $a_size - $i;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;( $a_upSteps == -&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; -&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;for&lt;/SPAN&gt;( $i++; $i &amp;lt; $b_size ; $i++ )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $b_upDir .= &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;/&amp;#39;&lt;/SPAN&gt;.$b_array[$i];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; str_repeat(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;../&amp;#39;&lt;/SPAN&gt;, $a_upSteps-&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;).substr($b_upDir,&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;);&lt;BR&gt;}&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt; &lt;br /&gt;4.简要说明PHP的垃圾回收机制&lt;br /&gt;&lt;br /&gt;答：引用计数。引用数为零时即销毁。&lt;br /&gt;&lt;br /&gt;5.如何高并发写文件？&lt;br /&gt;&lt;br /&gt;答：加锁。一种可以用flock（）来操作，还是就写一个xxx.lock的文件或目录作为锁。有锁时等待，写入时加锁，写完释放锁。高并发可以写入副本，再合并文件，这样会比较复杂一点。&lt;br /&gt;&lt;br /&gt;6.找猴王。N个猴子围成一圈，从第一开始报数，1、2、3...，报M者退出，然后重新报数，M者退出，重复此操作直到剩下一只猴，此猴为猴王，问猴王的编号？&lt;br /&gt;&lt;br /&gt;思路：猴子看成元素值为1，2，3...N的一维数组。M%N求余，余数即本轮退出者，unset()此元素，继续下一轮，直到数组元素为一，此元素的值即为猴王编号。在M%N过程中，N的数目为剩下猴子的总数，每轮递减一。PHP注意点：使用array_splice()而不是unset()，array_splice()的key值会自动计算，而unset()则保持原始的索引。&lt;br /&gt;&lt;br /&gt;&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;U&gt;PHP语言&lt;/U&gt;: &lt;A href="http://fayaa.com/code/view/715/"&gt;找猴王&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f7efe7" jQuery1237260170796="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;/**&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;* 找猴王。N个猴子围成一圈，从第一开始报数，1、2、3...，报M者退出，然后重新报数，M者退出，重复此操作直到剩下一只猴，此猴为猴王，问猴王的编号？&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #0000ff"&gt;*/&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; findKing($n, $m)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $q = range(&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;, $n);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;while&lt;/SPAN&gt;( ($n=count($q)) &amp;gt; &lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt; )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; array_splice($q, $m%$n-&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; $q[&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;];&lt;BR&gt;}&lt;BR&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-2240010490456664838?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/2240010490456664838/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/php.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/2240010490456664838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/2240010490456664838'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/php.html' title='没事做了几道PHP的面试题，传说是新浪的'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-4710694307802903779</id><published>2009-03-06T18:05:00.001+08:00</published><updated>2009-03-06T18:05:23.668+08:00</updated><title type='text'>沉浮的兄弟</title><content type='html'>《疯狂的赛车》插曲：搞笑黑社会之《沉浮的兄弟》。&lt;p&gt;&lt;br&gt;《沉浮的兄弟》&lt;p&gt;词：芊合&lt;p&gt;曲：戎祥&lt;p&gt;踏入江湖是我的命&lt;p&gt;不是甘愿做坏子&lt;p&gt;做兄弟好过时&lt;p&gt;打刚（每天）穿金又戴银&lt;p&gt;有时嘛会手头紧&lt;p&gt;结拜兄弟逗撒挺（帮忙过难关）&lt;p&gt;那是遇到垃圾的兄弟&lt;p&gt;丫撒不鲁归大堆（烂七八糟一大堆）&lt;p&gt;谁知命运的安排&lt;p&gt;乎阮（让我）失败一次搁（又）一次&lt;p&gt;拿出兄弟的勇气&lt;p&gt;总会等到出头天&lt;p&gt;&lt;br&gt;简评：&lt;p&gt;这是一首新创的闽南风格的歌曲，戎祥在电影《疯狂的赛车》中饰演一位台湾黑社会老大，就是那个胖子。为了这部电影，他创作并演唱的了这首风格独特的歌曲，使得其在剧中的人物更具喜剧和搞笑色彩，为电影增添了许多别样的味道，看过之后，依然会为那些镜头，那歌声所征服！&lt;br&gt;（以上内容均来自互联网）&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-4710694307802903779?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/4710694307802903779/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/blog-post.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4710694307802903779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4710694307802903779'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/03/blog-post.html' title='沉浮的兄弟'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-538659190986273203</id><published>2009-02-25T15:08:00.004+08:00</published><updated>2009-02-25T15:18:56.260+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='浏览器'/><category scheme='http://www.blogger.com/atom/ns#' term='javacript'/><title type='text'>cookie读写类</title><content type='html'>&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;U&gt;JavaScript语言&lt;/U&gt;: &lt;A href="http://www.fayaa.com/code/view/674/"&gt;cookie操作代码&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #ffffff" jQuery1235545935343="3"&gt;smartclick_Cookie = {&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; get: &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt;(name) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;var&lt;/SPAN&gt; cookieValue = &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;null&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt; (document.cookie &amp;amp;&amp;amp; document.cookie != &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&amp;#39;&lt;/SPAN&gt;) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;var&lt;/SPAN&gt; cookies = document.cookie.split(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;;&amp;#39;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;for&lt;/SPAN&gt; (&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;var&lt;/SPAN&gt; i = &lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;; i &amp;lt; cookies.length; i++) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;var&lt;/SPAN&gt; cookie = smartclick_Cookie.trim(cookies[i]);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;// Does this cookie string begin with the name we want?&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt; (cookie.substring(&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;, name.length + &lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;) == (name + &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;=&amp;#39;&lt;/SPAN&gt;)) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cookieValue = decodeURIComponent(cookie.substring(name.length + &lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;break&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; cookieValue;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set: &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt;(key, value, ttl, path, domain, secure) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cookie = [key+&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;=&amp;#39;&lt;/SPAN&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp; encodeURIComponent(value),&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;path=&amp;#39;&lt;/SPAN&gt;+&amp;nbsp;&amp;nbsp;&amp;nbsp; ((!path&amp;nbsp;&amp;nbsp; || path==&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&amp;#39;&lt;/SPAN&gt;)&amp;nbsp; ? &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;/&amp;#39;&lt;/SPAN&gt; : path),&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;domain=&amp;#39;&lt;/SPAN&gt;+&amp;nbsp; ((!domain || domain==&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&amp;#39;&lt;/SPAN&gt;)?&amp;nbsp; window.location.hostname : domain)];&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt; (ttl)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cookie.push( &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;expires=&amp;#39;&lt;/SPAN&gt;+smartclick_Cookie.hoursToExpireDate(ttl));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt; (secure)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cookie.push(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;secure&amp;#39;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; document.cookie = cookie.join(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;; &amp;#39;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//@param integer&amp;nbsp;&amp;nbsp;&amp;nbsp; ttl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time To Live (hours)&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hoursToExpireDate: &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt;(ttl) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt; (parseInt(ttl) == &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;NaN&amp;#39;&lt;/SPAN&gt; ) &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&amp;#39;&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;else&lt;/SPAN&gt; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; now = &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;new&lt;/SPAN&gt; Date();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; now.setTime(now.getTime() + (parseInt(ttl) * &lt;SPAN style="COLOR: #0000ff"&gt;60&lt;/SPAN&gt; * &lt;SPAN style="COLOR: #0000ff"&gt;60&lt;/SPAN&gt; * &lt;SPAN style="COLOR: #0000ff"&gt;1000&lt;/SPAN&gt;));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; now.toGMTString();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; trim: &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt;( text ) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; (text || &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&amp;quot;&lt;/SPAN&gt;).replace( &lt;SPAN style="COLOR: #0000ff"&gt;/^\s+|\s+$/g&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&amp;quot;&lt;/SPAN&gt; );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;strong&gt;几点说明：&lt;/strong&gt;&lt;br /&gt;1.ttl生存期时间单位是小时。&lt;br /&gt;2.get方法的原理是字符串匹配，对[key=]value的中括号部分进行匹配，优于使用正则进行匹配，正则如有特殊字符的情况会很麻烦。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-538659190986273203?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/538659190986273203/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/cookie.html#comment-form' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/538659190986273203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/538659190986273203'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/cookie.html' title='cookie读写类'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-6749709773752674352</id><published>2009-02-21T00:39:00.002+08:00</published><updated>2009-02-21T00:59:13.333+08:00</updated><title type='text'>周末看了两部电影，歌舞青春3和史密斯夫妇</title><content type='html'>&lt;div style="MARGIN: 0px auto 10px; TEXT-ALIGN: center"&gt;&lt;a href="http://1.bp.blogspot.com/_jscaNf70Zgc/SZ7c1LY8wpI/AAAAAAAAAME/b8ync06Mqos/s1600-h/%E9%A3%9E%E9%B8%9F%E5%A8%B1%E4%B9%90(bbs.wofei.net).%E6%AD%8C%E8%88%9E%E9%9D%92%E6%98%A53%EF%BC%9A%E6%AF%95%E4%B8%9A%E5%AD%A31024x556%E7%89%88.jpg"&gt;&lt;img alt="" src="http://1.bp.blogspot.com/_jscaNf70Zgc/SZ7c1LY8wpI/AAAAAAAAAME/b8ync06Mqos/s400/%E9%A3%9E%E9%B8%9F%E5%A8%B1%E4%B9%90(bbs.wofei.net).%E6%AD%8C%E8%88%9E%E9%9D%92%E6%98%A53%EF%BC%9A%E6%AF%95%E4%B8%9A%E5%AD%A31024x556%E7%89%88.jpg" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;  晚上拖着看了看《歌舞青春3》，比较喜欢这部个中文名字，还是比较感慨老美的，能拍出这样的电影。记得大宝曾经说过，青春是要挥霍的。年少时候还是感性一点嘛，这样以后能够多回忆一些东西。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_jscaNf70Zgc/SZ7g5pRpXTI/AAAAAAAAAMM/VzHc6cvLRT4/s1600-h/20562438225_500X667.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 267px; height: 400px;" src="http://4.bp.blogspot.com/_jscaNf70Zgc/SZ7g5pRpXTI/AAAAAAAAAMM/VzHc6cvLRT4/s400/20562438225_500X667.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5304924692026055986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;《史密斯夫妇》，恩，属于老早就上映了自己一直没看的电影。08暑假才看《疯狂的石头》，觉得宁浩很NB，所以《疯狂的石头》一上映就看，肯定不后悔。喜欢朱利皮特，好莱坞模范夫妻啊，是不是挺羡慕的？&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;div style="clear:both; text-align:CENTER"&gt;&lt;a href="http://picasa.google.com/blogger/" target="ext"&gt;&lt;img src="http://photos1.blogger.com/pbp.gif" alt="Posted by Picasa" style="border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;" align="middle" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-6749709773752674352?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/6749709773752674352/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/3.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6749709773752674352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6749709773752674352'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/3.html' title='周末看了两部电影，歌舞青春3和史密斯夫妇'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_jscaNf70Zgc/SZ7c1LY8wpI/AAAAAAAAAME/b8ync06Mqos/s72-c/%E9%A3%9E%E9%B8%9F%E5%A8%B1%E4%B9%90(bbs.wofei.net).%E6%AD%8C%E8%88%9E%E9%9D%92%E6%98%A53%EF%BC%9A%E6%AF%95%E4%B8%9A%E5%AD%A31024x556%E7%89%88.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-4952469990881921486</id><published>2009-02-18T00:46:00.004+08:00</published><updated>2009-02-18T00:56:15.603+08:00</updated><title type='text'>最近看了本书《赚钱机器，Money Machine》</title><content type='html'>&lt;strong&gt;笔记&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1.财富的定义：停止你现在的工作，能够继续生存多久？&lt;br /&gt;&lt;br /&gt;2.做有积累性的工作。无积累性的工作：有十年出租车驾龄的司机和一天驾龄的司机的价格是一样的，别人不会因为你开了十年而多付钱。&lt;br /&gt;&lt;br /&gt;3.使用你的钱来赚钱。&lt;br /&gt;&lt;br /&gt;4.终极目标：打造属于你的赚钱机器，最终得到财富自由和时间自由。&lt;br /&gt;&lt;br /&gt;5.没有捷径，勤奋努力的工作吧(个人想法)。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-4952469990881921486?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/4952469990881921486/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/money-machine.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4952469990881921486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4952469990881921486'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/money-machine.html' title='最近看了本书《赚钱机器，Money Machine》'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-2496652201899245783</id><published>2009-02-18T00:30:00.002+08:00</published><updated>2009-02-18T00:41:41.326+08:00</updated><title type='text'>晚上两个小时瞎倒腾，原来IE设置了代理。。。</title><content type='html'>&lt;strong&gt;现象&lt;/strong&gt;&lt;br /&gt;1.写python使用urllib2模块，出现如下错误：urllib2.URLError: &amp;lt;urlopen error (10054, 'Connection reset by peer')&amp;gt;。&lt;br /&gt;&lt;br /&gt;2.朋友汇款，使用招行专业版无法登陆，具体表现为，“通讯故障(#12):(*5)请检查您的通讯线路”。&lt;br /&gt;&lt;br /&gt;检测网络，傲游浏览器一直可以上网、试试火狐也可以、飞信一直可以使、ping命令可以ping通，纳闷啊，反复google，检查本机服务，登陆路由器更改设置、更改网络连接、关闭防火墙、切换有线无线。。。未果，后来无意点开IE，无法打开网页，不会是设置了代理了吧？果然是！顿时泪奔，一晚上就浪费了啊，还以为python有问题，真可以把IE拖出去斩了！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-2496652201899245783?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/2496652201899245783/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/ie.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/2496652201899245783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/2496652201899245783'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/ie.html' title='晚上两个小时瞎倒腾，原来IE设置了代理。。。'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-8675109050738966497</id><published>2009-02-14T09:38:00.002+08:00</published><updated>2009-02-14T09:54:48.455+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C'/><category scheme='http://www.blogger.com/atom/ns#' term='基础算法'/><title type='text'>堆排序，C版</title><content type='html'>&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;U&gt;C语言&lt;/U&gt;: &lt;A href="http://www.fayaa.com/code/view/663/"&gt;堆排序，C版&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #f9f7ed" jQuery1234576074953="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008080"&gt;#include &amp;lt;math.h&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008080"&gt;#define LEFT(i)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((i)&amp;lt;&amp;lt;1)&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008080"&gt;#define RIGHT(i)&amp;nbsp;&amp;nbsp;&amp;nbsp; (((i)&amp;lt;&amp;lt;1) + 1)&lt;/SPAN&gt;&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;void&lt;/SPAN&gt; max_heapify(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; a[], &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; i, &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; heapsize);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;void&lt;/SPAN&gt; heap_sort(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; a[], &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; heapsize);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;void&lt;/SPAN&gt; build_max_heap(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; a[], &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; heapsize);&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;void&lt;/SPAN&gt; exchange(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; *x, &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; *y);&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//交换两个数的值&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;void&lt;/SPAN&gt; exchange(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; *x, &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; *y) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; temp;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; temp = *x;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *x = *y;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; *y = temp;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//保持最大堆性质&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;void&lt;/SPAN&gt; max_heapify(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; a[], &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; i, &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; heapsize) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; left, right, largerest;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; left = LEFT(i);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; right = RIGHT(i);&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt; (left &amp;lt;= heapsize &amp;amp;&amp;amp; a[left]&amp;gt;a[i])&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; largerest = left;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;else&lt;/SPAN&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; largerest = i;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt; (right &amp;lt;= heapsize &amp;amp;&amp;amp; a[right]&amp;gt;a[largerest])&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; largerest = right;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;(largerest != i) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exchange(&amp;amp;a[i], &amp;amp;a[largerest]);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_heapify(a, largerest, heapsize);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//建造最大堆&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;void&lt;/SPAN&gt; build_max_heap(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; a[], &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; heapsize) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; i;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;for&lt;/SPAN&gt; (i=(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt;)ceil(heapsize/&lt;SPAN style="COLOR: #0000ff"&gt;2&lt;/SPAN&gt;); i &amp;gt;=&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt; ; i--)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_heapify(a, i, heapsize);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//堆排序&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;void&lt;/SPAN&gt; heap_sort(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; a[], &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; heapsize) {&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//build heap&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; build_max_heap(a, heapsize);&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;while&lt;/SPAN&gt;(heapsize&amp;gt;&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//exchange max&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exchange(&amp;amp;a[&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;], &amp;amp;a[heapsize]);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; heapsize--;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_heapify(a, &lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;, heapsize);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; main() {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; a[] = {&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;2&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;23&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;38&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;19&lt;/SPAN&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;98&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;203&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;803&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;3&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;78&lt;/SPAN&gt;,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;34&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;68&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;49&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;9&lt;/SPAN&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #0000ff"&gt;55&lt;/SPAN&gt;};&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; array_size = &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;sizeof&lt;/SPAN&gt;(a)/&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;sizeof&lt;/SPAN&gt;(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;int&lt;/SPAN&gt; i,heapsize;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; heapsize = array_size - &lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; heap_sort(a, heapsize);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//打印排序后的数组&lt;/SPAN&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;for&lt;/SPAN&gt; (i=&lt;SPAN style="COLOR: #0000ff"&gt;1&lt;/SPAN&gt;; i&amp;lt;=heapsize ; i++)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;%d&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\t&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;,a[i]);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\n&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; getchar();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;;&lt;BR&gt;&lt;BR&gt;}&lt;BR&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-8675109050738966497?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/8675109050738966497/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/c.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8675109050738966497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8675109050738966497'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/c.html' title='堆排序，C版'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-4505905590897486659</id><published>2009-02-06T15:48:00.003+08:00</published><updated>2009-02-06T15:57:37.216+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>支持中文的截取字符函数，不同编码下中文字符的范围一目了然</title><content type='html'>有时候经常需要查找某个编码下中文字符的编码范围，下面这个函数一目了然，省事！&lt;br /&gt;&lt;br /&gt;&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;U&gt;PHP语言&lt;/U&gt;: &lt;A href="http://www.fayaa.com/code/view/638/"&gt;中文截取&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #ffffff" jQuery1233906759312="3"&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;/*&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;* 中文截取，支持gb2312,gbk,utf-8,big5 &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;*&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;* @param string $str 要截取的字串&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;* @param int $start 截取起始位置&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;* @param int $length 截取长度&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;* @param string $charset utf-8|gb2312|gbk|big5 编码&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;* @param $suffix 是否加尾缀&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;*/&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;public&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; csubstr($str, $start=&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;, $length, $charset=&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;utf-8&amp;quot;&lt;/SPAN&gt;, $suffix=&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;true&lt;/SPAN&gt;)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;(function_exists(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;mb_substr&amp;quot;&lt;/SPAN&gt;))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; mb_substr($str, $start, $length, $charset);&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $re[&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;utf-8&amp;#39;&lt;/SPAN&gt;] = &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;/[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x01&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x7f&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]|[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xc2&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xdf&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;][&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x80&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xbf&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]|[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xe0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xef&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;][&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x80&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xbf&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]{2}|[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xf0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xff&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;][&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x80&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xbf&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]{3}/&amp;quot;&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $re[&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;gb2312&amp;#39;&lt;/SPAN&gt;] = &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;/[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x01&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x7f&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]|[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xb0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xf7&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;][&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xa0&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xfe&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]/&amp;quot;&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $re[&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;gbk&amp;#39;&lt;/SPAN&gt;] = &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;/[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x01&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x7f&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]|[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x81&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xfe&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;][&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x40&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xfe&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]/&amp;quot;&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $re[&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;big5&amp;#39;&lt;/SPAN&gt;] = &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;/[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x01&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x7f&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]|[&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x81&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xfe&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]([&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x40&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\x7e&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;]|&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xa1&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;-&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\xfe&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;])/&amp;quot;&lt;/SPAN&gt;;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; preg_match_all($re[$charset], $str, $match);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $slice = join(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&amp;quot;&lt;/SPAN&gt;,array_slice($match[&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;], $start, $length));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt;($suffix) &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; $slice.&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;…&amp;quot;&lt;/SPAN&gt;;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; $slice;&lt;BR&gt;}&lt;BR&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-4505905590897486659?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/4505905590897486659/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4505905590897486659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4505905590897486659'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/02/blog-post.html' title='支持中文的截取字符函数，不同编码下中文字符的范围一目了然'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-6606554672702472236</id><published>2009-01-16T13:27:00.004+08:00</published><updated>2009-01-16T14:45:21.893+08:00</updated><title type='text'>2008年Erlang十大新闻【译】</title><content type='html'>原文：&lt;a href="http://erlanginside.com/the-top-ten-erlang-news-stories-of-2008-69" target="_blank"&gt;http://erlanginside.com/the-top-ten-erlang-news-stories-of-2008-69&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;以下是翻译：&lt;br /&gt;&lt;br /&gt;不用说，2008对大多人来讲是艰苦的一年，2009看上去可能会更难过。但对于Erlang社区来讲，应该是自从Joe Armstrong发布Erlang以来最好的一年了。呃，算起来2007应该是使用Erlang的最佳时机了。下面是2008 Top Ten有关Erlang的事件，从小到大排序。我个人预言Erlang将在2009年里大显威力(This is my subjective ranking with a focus on the trends that will introduce the most number of developers to the power of Erlang in 2009.)。&lt;br /&gt;&lt;br /&gt;10.根据&lt;a href="http://www.itjobswatch.co.uk/"&gt;IT Jobs Watch&lt;/a&gt;,过去的一年里，英国有关Erlang的工作岗位数翻了4倍，我相信美国也应该有相似的情况，但尚未有数据证明。&lt;br /&gt;&lt;br /&gt;9.&lt;a href="LangPop.com"&gt;LangPop.com&lt;/a&gt;发现有关类似Erlang和Haskell的编程语言的讨论高于它们的使用（到目前为止）。比如：Erlang在讨论的频繁度上已经超过C#和Visual Basic，在SD Times已出现Erlang的封面新闻&lt;a href="http://www.sdtimes.com/DEVELOPERS_MOVING_TO_ERLANG_FOR_CODE_SCALING/About_DATABASES_and_ERLANG_and_SERVERS_and_PROCESSONE/33136"&gt;more stories on Erlang&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;8. &lt;a href="http://erlanginside.com/"&gt;Erlang Inside&lt;/a&gt;的出现将填补Erlang新闻站点的空白。&lt;br /&gt;&lt;br /&gt;7.亚马逊在其&lt;a href="http://aws.amazon.com/simpledb/"&gt;SimpleDB release&lt;/a&gt;上更多使用了Erlang，尽管SimpleDB在2007还是beta版，直到2008才发布官方正式版。&lt;br /&gt;&lt;br /&gt;6.&lt;a href="http://www.pragprog.com/screencasts/v-kserl/erlang-in-practice"&gt;Pragmatic Programmers&lt;/a&gt;发布一系列优秀视频演示。&lt;br /&gt;&lt;br /&gt;5.&lt;a href="http://wiki.reia-lang.org/"&gt;Reia&lt;/a&gt;的alpha版放出。提供了包含Erlang运行环境和VM的脚本语言，这成了&lt;a href="http://erlanginside.com/"&gt;Erlang Inside&lt;/a&gt;的头条。&lt;br /&gt;&lt;br /&gt;4.&lt;a href="http://www.rabbitmq.com/"&gt;RabbitMQ&lt;/a&gt;,--参阅&lt;a href="http://google-ukdev.blogspot.com/2008/09/rabbitmq-tech-talk-at-google-london.html"&gt;Google Talk&lt;/a&gt;有关RabbitMQ部分。&lt;br /&gt;&lt;br /&gt;3.&lt;a href="http://nitrogenproject.com/"&gt;Nitrogen Web Framework for Erlang&lt;/a&gt;，这成为那时的封面新闻。Rusty通过发布一些展示框架威力的演示视频获得很大发展。&lt;br /&gt;&lt;br /&gt;2.&lt;a href="http://couchdb.apache.org/"&gt;CouchDB&lt;/a&gt;，越来越多的用户正在选择使用。CouchDB已入住Apache Incubator。更多的人开始讨论：“你知道它是由Erlang写的吗？”。&lt;br /&gt;&lt;br /&gt;1.最后。。。&lt;a href="http://www.facebook.com/note.php?note_id=14218138919&amp;id=9445547199&amp;index=9"&gt;Erlang编写的Facebook的聊天室用户数到达了7000万&lt;/a&gt;，同时在线哦。我实在想不出有这更能展示Erlang威力的好广告了(电信应用除外)。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--------------------------------&lt;br /&gt;错误之处，欢迎指正。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-6606554672702472236?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/6606554672702472236/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/2008erlang.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6606554672702472236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6606554672702472236'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/2008erlang.html' title='2008年Erlang十大新闻【译】'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-1071015987930220351</id><published>2009-01-14T10:46:00.002+08:00</published><updated>2009-01-15T22:01:44.685+08:00</updated><title type='text'>终于回家有着落了</title><content type='html'>邰鹏帮忙买车票，连夜排队，前天晚上十点多就去北京北站，赶在队伍第二名，结果还没到。Z51，一张都没有？！这铁路真是混蛋阿，人民强烈不满意！&lt;br /&gt;&lt;br /&gt;哎，只好和同事一起订了去上海的机票，然后坐汽车回家。&lt;br /&gt;&lt;br /&gt;查火车票时，在网上发现了一个QQ群，盐城／东台人比较多，叫做“北漂的盐城人”，号码：1755899。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-1071015987930220351?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/1071015987930220351/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/blog-post_14.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/1071015987930220351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/1071015987930220351'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/blog-post_14.html' title='终于回家有着落了'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-4023180299058873793</id><published>2009-01-12T16:31:00.003+08:00</published><updated>2009-01-12T16:43:17.703+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>curl模拟浏览器抓取URL</title><content type='html'>使用php的curl模块，模拟浏览器行为，“E:/www/pachong/cookie.txt”为cookie存放的地方。curl默认输出为PHP的标准输出php://stdout，您也可以修改输出记录的磁盘文件。&lt;br /&gt;&lt;br /&gt;&lt;DIV style="BACKGROUND: #fdfdfd" jQuery1231749508796="246"&gt;&lt;A href="http://www.fayaa.com/code/view/599/"&gt;curl模拟浏览器抓取URL&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #ffffff" jQuery1231749508796="3"&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;set_time_limit(&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;ob_start();&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;$keyWords = rawurlencode(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;论语&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;$url = &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;http://www.amazon.cn/mn/searchApp?fea=layout&amp;amp;ix=sunray&amp;amp;keywords=&amp;#39;&lt;/SPAN&gt;.$keyWords.&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&amp;amp;searchType=&amp;amp;showType=3&amp;amp;sortType=&amp;amp;node=0&amp;amp;searchKind=keyword&amp;amp;uid=168-5083975-3489864&amp;#39;&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//初始化&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;$ch = curl_init();&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;curl_setopt($ch, CURLOPT_COOKIEJAR, &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;E:/www/pachong/cookie.txt&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;curl_setopt($ch, CURLOPT_USERAGENT, &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; InfoPath.1; CIBA)&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;curl_setopt($ch, CURLOPT_URL, $url);&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//echo header&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;curl_setopt($ch, CURLOPT_HEADER, &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;FALSE&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//mark this as a new cookie &amp;quot;session&amp;quot;.&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;curl_setopt($ch, CURLOPT_COOKIESESSION, &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;TRUE&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//echo body html&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;curl_setopt($ch, CURLOPT_NOBODY, &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;FALSE&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//写入磁盘文件&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;/*&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;$outputFile = fopen(&amp;quot;E:/www/pachong/contents.txt&amp;quot;, &amp;#39;ab&amp;#39;);&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;curl_setopt($ch, CURLOPT_FILE, $outputFile); &lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;*/&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;curl_exec($ch);&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;curl_close($ch);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;$content = ob_get_clean();&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;echo&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&amp;lt;pre&amp;gt;&amp;#39;&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;echo&lt;/SPAN&gt; htmlspecialchars($content);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;echo&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;&amp;lt;/pre&amp;gt;&amp;#39;&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-4023180299058873793?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/4023180299058873793/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/curlurl.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4023180299058873793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4023180299058873793'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/curlurl.html' title='curl模拟浏览器抓取URL'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-6267677587675446143</id><published>2009-01-12T15:53:00.004+08:00</published><updated>2009-01-12T16:20:49.032+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>UTF8版的wordwrap()</title><content type='html'>wordwrap()发邮件有时候会用到之，php中原生的有时候会将汉字截断，它无法识别单字节和多字节，这里写了一个utf8版的。&lt;br /&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #ffffff" jQuery1231746860125="2"&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt; wordwrap_utf8( $string, $length=&lt;SPAN style="COLOR: #0000ff"&gt;75&lt;/SPAN&gt;, $break=&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;\n&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;, $cut=&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;false&lt;/SPAN&gt;) {&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; preg_match_all(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;/./u&amp;quot;&lt;/SPAN&gt;, $string, $matches);&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $s = $matches[&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;];&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ct = count( $s );&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;for&lt;/SPAN&gt;($i=&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;; $i&amp;lt;ceil($ct/$length) ; $i++) {&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $ns .= implode(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&amp;quot;&lt;/SPAN&gt;, array_slice($s, $i*$length, $length) ) . $break;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt; $ns;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;}&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;解决了wordwrap截断汉字的问题。缺点是$cut参数无法使用，会将英文单词截断。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-6267677587675446143?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/6267677587675446143/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/utf8wordwrap.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6267677587675446143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6267677587675446143'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/utf8wordwrap.html' title='UTF8版的wordwrap()'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-7365263497887048572</id><published>2009-01-12T15:43:00.006+08:00</published><updated>2009-01-12T16:22:10.149+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>如何保证程序唯一运行？</title><content type='html'>以前写过如何让php程序在后台运行，&lt;a href="http://bloomandkevin.cn/2008/12/php_23.html"&gt;客户端触发，后台方式运行PHP程序 &lt;/a&gt;，但某些场合要求我们此程序只能唯一运行，只跑一个。&lt;br /&gt;&lt;br /&gt;解决办法:&lt;br /&gt;1.使用文件锁来控制&lt;br /&gt;2.创建目录&lt;br /&gt;上述两个操作均可保证唯一性，当然还有其他办法，查找进程中是否有同名的进程之类，不太适合php。&lt;br /&gt;&lt;br /&gt;&lt;DIV style="BACKGROUND: #fdfdfd"&gt;&lt;A href="http://www.fayaa.com/code/view/597/"&gt;PHP进行排它型锁定&lt;/A&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #ffffff" jQuery1231747209828="3"&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;$fp = fopen(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;/tmp/lock.txt&amp;quot;&lt;/SPAN&gt;, &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;w+&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/SPAN&gt; (flock($fp, LOCK_EX)) { &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;// 进行排它型锁定&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//do something&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; flock($fp, LOCK_UN); &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;// 释放锁定&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;} &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;else&lt;/SPAN&gt; {&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;echo&lt;/SPAN&gt; &lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;Couldn&amp;#39;t lock the file !&amp;quot;&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;exit&lt;/SPAN&gt;();&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;}&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;fclose($fp);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-7365263497887048572?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/7365263497887048572/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/blog-post_12.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7365263497887048572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7365263497887048572'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/blog-post_12.html' title='如何保证程序唯一运行？'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-1308451830793005752</id><published>2009-01-09T10:32:00.002+08:00</published><updated>2009-01-09T10:37:19.355+08:00</updated><title type='text'>The Great Fucking Wall !</title><content type='html'>ghs.sinoestate.com被封了，域名的CNAME无效了，博客暂不能访问，Fucking GFW。&lt;br /&gt;&lt;br /&gt;大宝的http://tongteen.blogspot.com/可以访问。GFW天天堵啊堵，不知道防民之口胜于防川么？存在必然有其合理性。&lt;br /&gt;&lt;br /&gt;GFW，日你娘！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-1308451830793005752?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/1308451830793005752/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/great-fucking-wall.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/1308451830793005752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/1308451830793005752'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/great-fucking-wall.html' title='The Great Fucking Wall !'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-3736207827008605100</id><published>2009-01-05T23:40:00.003+08:00</published><updated>2009-01-06T00:54:23.153+08:00</updated><title type='text'>有点浮躁，不要急，要让自己有实力</title><content type='html'>毕业半年了，周围好几个兄弟没有继续读书，和我一样出来工作了。&lt;br /&gt;&lt;br /&gt;现在大家遇到了一些的问题，找不到感觉，不知道自己到底要做什么，觉得待遇太低，和当初自己设想的不太一样。&lt;br /&gt;&lt;br /&gt;都有些浮躁了。有时候浮躁是件好事情，表明有欲望，心未死（有了让儿子混好的想法时估计就不行了）。&lt;br /&gt;&lt;br /&gt;十年磨一剑，应该有这样的决心的。男人帅最没有用了，应该变得有实力，&lt;strong&gt;你能够做别人做不了的事情么？&lt;/strong&gt;哪怕你说去护城河冬泳、连续跑步4小时以上，更不要提什么社会经验、人脉资源和专业技能之类。&lt;br /&gt;&lt;br /&gt;亲爱的朋友们，一起持续、刻苦的努力吧，勤奋是成功的前提。天上永远不会掉馅饼，我只相信合理的回报。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-3736207827008605100?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/3736207827008605100/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/3736207827008605100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/3736207827008605100'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2009/01/blog-post.html' title='有点浮躁，不要急，要让自己有实力'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-5399912962625868036</id><published>2008-12-28T14:03:00.002+08:00</published><updated>2008-12-28T14:14:06.154+08:00</updated><title type='text'>饭岛爱，居然如此受关注</title><content type='html'>饭岛爱，一名日本AV女优，居然如此受到关注，不知是国内猎奇心理，还是日本AV片受众如此宽广。既然观看AV片已成事实，为何不将之合法化规范化？大家也不用偷偷摸摸的看了。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;参考：&lt;a href="http://www.williamlong.info/archives/1631.html"&gt;饭岛爱雄踞百度搜索量第一&lt;/a&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-5399912962625868036?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/5399912962625868036/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/blog-post_28.html#comment-form' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/5399912962625868036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/5399912962625868036'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/blog-post_28.html' title='饭岛爱，居然如此受关注'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-8692224795274256332</id><published>2008-12-25T00:11:00.003+08:00</published><updated>2008-12-25T00:29:51.478+08:00</updated><title type='text'>平安夜，今夜谁和你一起通宵？</title><content type='html'>今晚是上班后第一个平安夜，刚花问我去年的今晚我做什么了，没想起来，花提醒说丛海晨给我送苹果了，哈哈。那次是花她们组织的平安夜送给朋友送水果，本来只有几个人，后来越送人越多，大家都下楼跟随大队伍继续送水果了。&lt;br /&gt;&lt;br /&gt;打算去看葛优的非诚勿扰，还是等花考完试吧，怕干扰她。&lt;br /&gt;&lt;br /&gt;很是怀念在学校时候，平安夜，一群人说去通宵就去通宵玩了，啊，今夜谁和你一起通宵？&lt;br /&gt;&lt;br /&gt;还是洗洗睡吧~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-8692224795274256332?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/8692224795274256332/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/blog-post_25.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8692224795274256332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8692224795274256332'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/blog-post_25.html' title='平安夜，今夜谁和你一起通宵？'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-4120552152681073364</id><published>2008-12-23T15:48:00.004+08:00</published><updated>2008-12-25T00:30:12.589+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>客户端触发，后台方式运行PHP程序</title><content type='html'>&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #ffffff" jQuery1230018958456="2"&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;&amp;lt;?php&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;ob_start();&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;set_time_limit(&lt;SPAN style="COLOR: #0000ff"&gt;0&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//run in background&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;ignore_user_abort(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;TRUE&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;/* close browser connection */&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;$size = ob_get_length();&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;header(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;Connection: close&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;header(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;Content-Length: &lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;$size&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;&lt;/SPAN&gt;);&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;ob_end_flush();&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;flush();&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;/**&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;* main&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #0000ff"&gt;*/&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//your code&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008080"&gt;?&amp;gt;&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;上面的程序只要客户端浏览器http请求即可触发，然后便主动断开浏览器连接，以后台方式继续运行。可以用在触发执行任务的场合。非常有用！&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-4120552152681073364?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/4120552152681073364/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/php_23.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4120552152681073364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4120552152681073364'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/php_23.html' title='客户端触发，后台方式运行PHP程序'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-4290232405165533508</id><published>2008-12-16T11:28:00.007+08:00</published><updated>2008-12-16T13:42:59.094+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='浏览器'/><title type='text'>我是傲游的忠实用户</title><content type='html'>&lt;p&gt;傲游带给我的良好体验：&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;自定义界面按钮。大多数情况我只使用键盘的快捷操作，很多按钮使用不到，那就无需显示出来。&lt;/li&gt;&lt;br /&gt;&lt;li&gt;网络收藏功能。收藏夹内容便自动同步，在公司和在家同步体验。尤其在重装系统忘记备份收藏夹时。&lt;/li&gt;&lt;br /&gt;&lt;li&gt;键盘Ctrl+左右键，可以切换标签页。&lt;/li&gt;&lt;br /&gt;&lt;li&gt;拖动链接会在新窗口打开。&lt;/li&gt;&lt;br /&gt;&lt;li&gt;鼠标动作。用的最多的是后退。&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ctrl+N新标签页。T太远，且在左手范围。&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;如果google chrome能够提供给我同样的功能，也许会转到google chrome。chrome能不能起个中文名（chrome好像有中文名了：谷歌浏览器）？记得在高一时接触到google，非常痛恨它没有中文名字。&lt;/p&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_jscaNf70Zgc/SUc-aUGhL8I/AAAAAAAAALE/0g_dxO7GQo0/s1600-h/maxthon.jpg" target="_blank"&gt;&lt;img id="BLOGGER_PHOTO_ID_5280257709908766658" style="CURSOR: hand;" alt="" src="http://4.bp.blogspot.com/_jscaNf70Zgc/SUc-aUGhL8I/AAAAAAAAALE/0g_dxO7GQo0/s400/maxthon.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-4290232405165533508?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/4290232405165533508/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/blog-post_16.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4290232405165533508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4290232405165533508'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/blog-post_16.html' title='我是傲游的忠实用户'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_jscaNf70Zgc/SUc-aUGhL8I/AAAAAAAAALE/0g_dxO7GQo0/s72-c/maxthon.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-2365442005657001920</id><published>2008-12-15T14:13:00.003+08:00</published><updated>2008-12-16T13:19:23.901+08:00</updated><title type='text'>DELL无法安装非官方驱动及其解决办法</title><content type='html'>&lt;ol&gt;&lt;li&gt;如果你用的是DELL OEM的系统，就应该安装DELL的驱动。&lt;/li&gt;&lt;li&gt;安装公版非官版等需要把驱动解压后，在设备管理器里手动安装。&lt;/li&gt;&lt;li&gt;驱动精灵。“DELL的机器强烈建议装系统光盘自带的驱动;然后去驱动之家下载驱动精灵利用软件的在线更新功能分析是否需要升级驱动.需要的话再在线升级驱动程序.如果你对电脑不太熟悉建议只升级通过了微软数字签名的正式版本,升级前记得先备份下驱动. ”。个人体验：驱动精灵很不好使，不知为啥。&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-2365442005657001920?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/2365442005657001920/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/dell.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/2365442005657001920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/2365442005657001920'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/dell.html' title='DELL无法安装非官方驱动及其解决办法'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-8102866635687709509</id><published>2008-12-11T15:11:00.004+08:00</published><updated>2008-12-11T15:41:03.495+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javacript'/><title type='text'>Javascript(Jquery)获取键盘事件的key值，兼容FF2/3，IE，opera</title><content type='html'>&lt;p&gt;获取event，keyCode是件麻烦事情，浏览器之间不统一。下面代码兼容性好。&lt;/p&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #ffffff" jQuery1228979862129="2"&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;lt;script&amp;gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//监听keypress事件，执行键盘一些快捷操作&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;$(document).keypress(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt;(event){&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//获取事件对象 w3c模型/ie模型&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//var event = arguments[0] || window.event;&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//取得键盘码&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;var&lt;/SPAN&gt; key = event.keyCode || event.which || event.charCode; &lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch( key ) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//a 添加分类&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &lt;SPAN style="COLOR: #0000ff"&gt;97&lt;/SPAN&gt; :&amp;nbsp;&amp;nbsp;&amp;nbsp; go(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;AddProductLink&amp;quot;&lt;/SPAN&gt;);&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//p 商品管理&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &lt;SPAN style="COLOR: #0000ff"&gt;112&lt;/SPAN&gt; :&amp;nbsp;&amp;nbsp;&amp;nbsp; go(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;ProductsManageLink&amp;quot;&lt;/SPAN&gt;);&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//c 分类管理&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &lt;SPAN style="COLOR: #0000ff"&gt;99&lt;/SPAN&gt; :&amp;nbsp;&amp;nbsp;&amp;nbsp; go(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;quot;CategoriesManageLink&amp;quot;&lt;/SPAN&gt;);&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//s 搜索框聚焦&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case &lt;SPAN style="COLOR: #0000ff"&gt;115&lt;/SPAN&gt; :&amp;nbsp;&amp;nbsp;&amp;nbsp; setTimeout(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt;(){$(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;input#searchText&amp;#39;&lt;/SPAN&gt;).focus();});&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default :&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&lt;SPAN class="lineno special"&gt;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/SPAN&gt;;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;});&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&amp;lt;/script&amp;gt;&lt;BR&gt;&lt;/DIV&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;清除事件继续向上冒泡，如果不希望其父级DOM捕获到此事件。&lt;/p&gt;&lt;br /&gt;&lt;DIV class=source style="FONT-FAMILY: '[object]','Consolas','Lucida Console','Courier New'; BACKGROUND-COLOR: #ffffff" jQuery1228980987577="2"&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #008800; FONT-STYLE: italic"&gt;//对于INPUT框需要阻止事件继续向上冒泡&lt;/SPAN&gt;&lt;BR&gt;&lt;SPAN class=lineno style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/SPAN&gt;$(&lt;SPAN style="COLOR: #0000ff"&gt;&amp;#39;input&amp;#39;&lt;/SPAN&gt;).keypress(&lt;SPAN style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/SPAN&gt;(event){event.cancelBubble ? (event.cancelBubble = ture) : event.stopPropagation();});&lt;BR&gt;&lt;/DIV&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-8102866635687709509?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/8102866635687709509/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/javascriptjquerykey.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8102866635687709509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8102866635687709509'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/javascriptjquerykey.html' title='Javascript(Jquery)获取键盘事件的key值，兼容FF2/3，IE，opera'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-6064232549408506148</id><published>2008-12-10T11:37:00.004+08:00</published><updated>2008-12-21T22:18:54.123+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>PHP类型比较陷阱</title><content type='html'>&lt;p&gt;&amp;lt;?php&lt;br /&gt;&lt;br /&gt;//result is : bool(true)&lt;br /&gt;var_dump( -1 == TRUE );&lt;br /&gt;&lt;br /&gt;//result is : bool(true)&lt;br /&gt;var_dump( "-1" == TRUE );&lt;br /&gt;&lt;br /&gt;?&amp;gt;&lt;/p&gt;&lt;p&gt;结果让你困惑吧，其实就是判断值是否为0，“零为假，非零皆为真”，-1和‘-1’当然不为0了，所以就为true了。使用===时，上式均为false。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-6064232549408506148?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/6064232549408506148/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/php.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6064232549408506148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6064232549408506148'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/php.html' title='PHP类型比较陷阱'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-2509266932346928520</id><published>2008-12-08T23:23:00.002+08:00</published><updated>2008-12-08T23:31:48.083+08:00</updated><title type='text'>最节省时间的方法——学习</title><content type='html'>晚上看到一篇文章，写的很好，建议大家看看。标题是“最节省时间的方法——学习”，原文地址，&lt;a href="http://www.xiaolai.net/index.php/archives/1444.html"&gt;http://www.xiaolai.net/index.php/archives/1444.html&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;学习是进化的表现，进化的越好学习能力越强，在这个社会才能更好的生存下去，享受更优质的生活。&lt;br /&gt;&lt;br /&gt;不要计划明天做，从现在就开始。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-2509266932346928520?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/2509266932346928520/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/2509266932346928520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/2509266932346928520'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/12/blog-post.html' title='最节省时间的方法——学习'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-4081043288517075081</id><published>2008-11-26T17:40:00.004+08:00</published><updated>2008-11-26T18:30:44.083+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='serialize'/><category scheme='http://www.blogger.com/atom/ns#' term='simplexmlelement'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='序列化'/><title type='text'>php serialize and serialize SimpleXMLElement</title><content type='html'>在PHP5中，序列化/反序列化simpleXMLElement对象时发生&lt;strong&gt;Warning: unserialize() [function.unserialize]: Node no longer exists in...&lt;/strong&gt;的错误。&lt;br /&gt;&lt;br /&gt;查了一下，&lt;a href="http://bugs.php.net/bug.php?id=46143&amp;amp;edit=1"&gt;http://bugs.php.net/bug.php?id=46143&amp;amp;edit=1&lt;/a&gt;，里面有段描述：&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;AFAIK, you cannot serialize a SimpleXMLElement, because it's a resource wrapped inside an object and it would be impossible de restore thatresource upon unserialize()-ation. That's why you receive an error: theunserialized object doesn't know where's the original document anymore.Store it in text form instead (asXML()).&lt;/blockquote&gt;说是SimpleXMLElement这个对象内部是包装的资源，即php中的resource类型，而resource是不可以序列化的。&lt;br /&gt;&lt;br /&gt;上述文字提供了一个解决方案，保存其xml字符串，然后再通过simplexml_load_file/simplexml_load_string恢复SimpleXMLElement对象即可，xml字符串可以通过SimpleXMLElement-&gt;asXML()得到。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-4081043288517075081?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/4081043288517075081/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/php-serialize-and-serialize.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4081043288517075081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4081043288517075081'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/php-serialize-and-serialize.html' title='php serialize and serialize SimpleXMLElement'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-6395770610223801805</id><published>2008-11-24T13:05:00.002+08:00</published><updated>2008-11-24T13:23:37.153+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='soap'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='nusoap'/><title type='text'>nusoap与php5内置soap模块类名冲突解决办法</title><content type='html'>Warning: SoapClient::SoapClient() expects parameter 2 to be array, boolean given in...&lt;br /&gt;&lt;br /&gt;出现上述错误，原因是与php5内置soap模块类名冲突。&lt;br /&gt;&lt;br /&gt;解决办法：&lt;br /&gt;1.关闭php5的soap扩展。windows关掉extension=php_soap.dll即可，Ubuntu下apt-get install安装的没有此选项，只好重新编译。&lt;br /&gt;&lt;br /&gt;2.（推荐此法）修改类名即可。将soapclient()改为nusoap_client()，soap_server()改为nusoap_server（）。这样就永远不会发生冲突问题了。nusoap代码中有如下片段：&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;/**&lt;br /&gt;* Backward compatibility&lt;br /&gt;*/&lt;br /&gt;class soap_server extends&lt;br /&gt;nusoap_server {&lt;br /&gt;}&lt;br /&gt;/**&lt;br /&gt;* For backwards compatiblity, define&lt;br /&gt;soapclient unless the PHP SOAP extension is loaded.&lt;br /&gt;*/&lt;br /&gt;class soapclient&lt;br /&gt;extends nusoap_client {&lt;br /&gt;} &lt;/blockquote&gt;&lt;br /&gt;3.php5改为php4。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-6395770610223801805?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/6395770610223801805/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/nusoapphp5.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6395770610223801805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6395770610223801805'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/nusoapphp5.html' title='nusoap与php5内置soap模块类名冲突解决办法'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-6488421667519739485</id><published>2008-11-22T01:34:00.003+08:00</published><updated>2008-11-22T01:57:04.148+08:00</updated><title type='text'>为什么他们可以这么High？</title><content type='html'>《天津邮政职工搞笑舞蹈 请自备避雷针。》&lt;br /&gt;&lt;br /&gt;邮政局都可以这么Hight？很是纳闷，记得以前看过华为的嘻唰唰，还可以，这个实在太雷人。。。不知真的假的？&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://player.youku.com/player.php/sid/XNTM0OTI4NTI=/v.swf" quality="high" width="480" height="400" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;《TA 们放肆摇晃的青春尾巴》&lt;br /&gt;&lt;br /&gt;传说来自网易的。&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/zmME3DcIP5U&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/zmME3DcIP5U&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-6488421667519739485?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/6488421667519739485/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/high.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6488421667519739485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6488421667519739485'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/high.html' title='为什么他们可以这么High？'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-2253575779801005316</id><published>2008-11-11T21:05:00.009+08:00</published><updated>2008-11-27T17:12:48.893+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='simplexmlelement'/><category scheme='http://www.blogger.com/atom/ns#' term='乱码'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><title type='text'>SimpleXMLElement解析报错解决方案：剔除字符串中错误字符</title><content type='html'>实在不愿意写关于PHP乱码方面的东西了，今天再次遇到了一个很郁闷的问题，字符串中含有错误的字码（内码）。&lt;br /&gt;&lt;br /&gt;报错：&lt;br /&gt;&lt;blockquote&gt;Warning: SimpleXMLElement::__construct() [&lt;a href="http://192.168.202.202/function.SimpleXMLElement---construct"&gt;function.SimpleXMLElement---construct&lt;/a&gt;]:&lt;br /&gt;input conversion failed due to input error, bytes 0xC2 0x2E 0x20 0x20 in&lt;br /&gt;E:\www\alsobuy.php on line 47&lt;/blockquote&gt;PHP在解析XML文档时发生错误，这个问题很常见，主要是由于在xml文档中含有头部声明编码以外的字符，而php严格按照头部声明的编码来解析xml文档。通常都是GB2312编码发生此情况，我一般是使用正则来修改文档头部编码声明来避免。如下：&lt;br /&gt;&lt;blockquote&gt;$xml = preg_replace("/(^&lt;\?xml.*encoding.*)GB2312(.*\?&gt;)/iU" ,&lt;br /&gt;'${1}GBK${2}' , $xml );&lt;/blockquote&gt;一般将其修改为GBK即可，GB2312包含的汉字实在太少了。&lt;br /&gt;&lt;br /&gt;今天却不好使，纳闷了，后来终于发现，该XML文档中含有一个错误字符，根本无法解析。&lt;br /&gt;&lt;br /&gt;而在使用正则等处理字符串时，里面含有乱码一般不会报错，估计SimpleXmlElement（）是堆栈来完成xml文档解析的，遇到错误字符就挂了。&lt;br /&gt;&lt;br /&gt;解决方案：根据具体编码，确定字符内码的范围，遍历一遍，剔除错误的字符。&lt;br /&gt;&lt;br /&gt;下面是根据GBK编码范围来剔除的，效果很好。&lt;br /&gt;&lt;br /&gt;代码：&lt;br /&gt;&amp;lt;?php&lt;br /&gt;//含有两个错误的字符&lt;br /&gt;$str = "我\x97\x7f鎔ㄅㄈ是德\x82\x09文";&lt;br /&gt;&lt;br /&gt;$len = strlen($str);//长度&lt;br /&gt;$new_str = "";&lt;br /&gt;&lt;br /&gt;for($i=0; $i &lt;= $len-1 ;$i++) { $s_hex = ord($str[$i]); if( $s_hex &lt;= 0x7f &amp;amp;&amp;amp; $s_hex &gt;=0x00 )&lt;br /&gt;{&lt;br /&gt;//ACSII&lt;br /&gt;$new_str .= $str[$i];&lt;br /&gt;}&lt;br /&gt;else if( $s_hex &gt;= 0x81 &amp;amp;&amp;amp; $s_hex &lt;=0xfe )&lt;br /&gt;{&lt;br /&gt;//双字节&lt;br /&gt;if( $i == $len-1 ) break;&lt;br /&gt;$i++;&lt;br /&gt;$s_hex = ord($str[$i]);&lt;br /&gt;if( $s_hex &gt;= 0x40 &amp;amp;&amp;amp; $s_hex &lt;= 0xfe &amp;amp;&amp;amp; $s_hex != 0x7f)&lt;br /&gt;{&lt;br /&gt;$new_str .= $str[$i-1];&lt;br /&gt;$new_str .= $str[$i];&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;echo $str.'&amp;lt;br/&amp;gt;';&lt;br /&gt;echo $new_str.'&amp;lt;br/&amp;gt;';&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;效果图：&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_jscaNf70Zgc/SS5jBgb-XnI/AAAAAAAAAKM/hNKBA27ZroU/s1600-h/test.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5273261091235716722" style="WIDTH: 285px; CURSOR: hand; HEIGHT: 147px" alt="" src="http://1.bp.blogspot.com/_jscaNf70Zgc/SS5jBgb-XnI/AAAAAAAAAKM/hNKBA27ZroU/s400/test.JPG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;方便看代码：&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_jscaNf70Zgc/SS5jBRO87XI/AAAAAAAAAKE/SB_uLVOKtY8/s1600-h/str.JPG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5273261087154564466" style="WIDTH: 400px; CURSOR: hand; HEIGHT: 360px" alt="" src="http://2.bp.blogspot.com/_jscaNf70Zgc/SS5jBRO87XI/AAAAAAAAAKE/SB_uLVOKtY8/s400/str.JPG" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-2253575779801005316?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/2253575779801005316/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/php-warning-simplexmlelementconstruct.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/2253575779801005316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/2253575779801005316'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/php-warning-simplexmlelementconstruct.html' title='SimpleXMLElement解析报错解决方案：剔除字符串中错误字符'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_jscaNf70Zgc/SS5jBgb-XnI/AAAAAAAAAKM/hNKBA27ZroU/s72-c/test.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-8888054582425785326</id><published>2008-11-11T00:17:00.003+08:00</published><updated>2008-11-11T01:18:28.613+08:00</updated><title type='text'>飓风营救（Taken），十年编程无师自通</title><content type='html'>晚上看了一部电影，《飓风营救》，有点这个杀手不太冷的味道。整部片子都不错，前面节奏很慢，中间非常紧凑。结尾我以为她女儿会有比较大的遗留症状，结果经历了那些，回来时就好像没啥事发生一样，不解。推荐有空看看。&lt;br /&gt;&lt;br /&gt;还看了一篇很早的文章，《&lt;a href="http://www.javaresearch.org/article/12568.htm"&gt;10年编程无师自通&lt;/a&gt;》，君子固本，不能太急，十年磨一剑，尤其对于像我这样的新手呵。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-8888054582425785326?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/8888054582425785326/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/taken.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8888054582425785326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8888054582425785326'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/taken.html' title='飓风营救（Taken），十年编程无师自通'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-7393895886343199703</id><published>2008-11-10T11:59:00.003+08:00</published><updated>2008-11-10T19:32:39.895+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='gfw'/><title type='text'>为何keso的可以访问，偶们的就不行？(已解决)</title><content type='html'>Keso的Blogger地址：&lt;a href="http://log.keso.cn/"&gt;http://log.keso.cn/&lt;/a&gt;，可以访问。&lt;br /&gt;&lt;br /&gt;我使用自己的域名托管指向到ghs.google.com就不可以？GFW对keso特殊监控？&lt;br /&gt;&lt;br /&gt;--update 19:09&lt;br /&gt;&lt;br /&gt;keso回了邮件。解决办法：找到未被封掉的ghs.google.com的ip，然后把自己域名A记录指向过去即可。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-7393895886343199703?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/7393895886343199703/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/keso.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7393895886343199703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7393895886343199703'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/keso.html' title='为何keso的可以访问，偶们的就不行？(已解决)'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-8446417398835748999</id><published>2008-11-08T13:32:00.004+08:00</published><updated>2008-11-08T13:44:24.375+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blackberry'/><category scheme='http://www.blogger.com/atom/ns#' term='Now SMS/MMS GateWay'/><title type='text'>利用BlackBerry架设Now SMS/MMS Gateway服务器失败</title><content type='html'>最近想玩点彩信的东西，使用电脑来处理发送彩信，网上找了一下，Now SMS/MMS GateWay，使用的我的BB8820作GSM/GPRS Modem，结果出现错误，在网上Now SMS/MMS官网上找到一些文档，结果是Now SMS/MMS GateWay也许不支持BlackBerry Modem。 &lt;div&gt;&lt;br /&gt; &lt;/div&gt;&lt;div&gt;郁闷，不过后来看到一个Nokia的MMS开发包（&lt;a href="http://www.blogjava.net/amplifier/archive/2008/06/17/208620.html"&gt;http://www.blogjava.net/amplifier/archive/2008/06/17/208620.html&lt;/a&gt;），也许可以试试，再研究。&lt;/div&gt;&lt;div&gt;&lt;br /&gt; &lt;/div&gt;&lt;div&gt;贴个错误的图，将bb作为标准Modem和“Modem does not support SMS --”的错误。&lt;/div&gt;&lt;img id="BLOGGER_PHOTO_ID_5266157619188289586" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 257px; CURSOR: hand; HEIGHT: 400px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_jscaNf70Zgc/SRUmdA7vUDI/AAAAAAAAAJM/ZRdMNYXgxbo/s400/screenshot3.jpeg" border="0" /&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5266157620117917842" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 323px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_jscaNf70Zgc/SRUmdEZYUJI/AAAAAAAAAJE/fE9eISBY9sc/s400/screenshot1.bmp" border="0" /&gt;参考：&lt;br /&gt; Use BlackBerry As Modem For Laptop!&lt;br /&gt;&lt;a href="http://www.blackberryforums.com/blackberry-guides/2019-user-howto-use-blackberry-modem-laptop.html"&gt;http://www.blackberryforums.com/blackberry-guides/2019-user-howto-use-blackberry-modem-laptop.html&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-8446417398835748999?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/8446417398835748999/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/blackberrynow-smsmms-gateway.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8446417398835748999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8446417398835748999'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/blackberrynow-smsmms-gateway.html' title='利用BlackBerry架设Now SMS/MMS Gateway服务器失败'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_jscaNf70Zgc/SRUmdA7vUDI/AAAAAAAAAJM/ZRdMNYXgxbo/s72-c/screenshot3.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-6370360874246662536</id><published>2008-11-06T22:28:00.007+08:00</published><updated>2008-11-08T00:34:39.611+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blackberry'/><category scheme='http://www.blogger.com/atom/ns#' term='googlemap'/><category scheme='http://www.blogger.com/atom/ns#' term='gmail'/><title type='text'>我的BB8820终于解决GoogleMap的问题了，不再假死</title><content type='html'>前一阵子，在BB上装了一个Gmail，都说其好使，可我打开后，进度条总是在1/3的地方卡死，连打开都没有成功过，很是郁闷，后在网上看到需要修改APN为CMNET。到设置里看，我的是CMWAP，恩，改成CMNET，啊，果然好使了，又说APN置空即可，会自动选择，于是便置空了，恩，很好使。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;最近装了google map，郁闷了，又出现gmail刚开始的情况，哎，看到&lt;a href="http://fisio.cn/blackberry-china-google-maps-232.html#comment-5427"&gt;http://fisio.cn/blackberry-china-google-maps-232.html#comment-5427&lt;/a&gt;又是很兴奋，再次安装googlemap，后来，在APN里填上CMNET，一切ok，这个世界清净了。下班路上试了试，很好很强大！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;还有opera mini，好多人都说是黑莓上最好使的，我还是觉得官方浏览器好使一些。PC版的opera还是很棒的。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;科技以人为本，如果手机、电脑这电子产品这些都做的像开门关门一样简单，这个世界将会是多么美好啊。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Goolge Map截图一张：&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_jscaNf70Zgc/SRRg3ccczTI/AAAAAAAAAIk/qU0xuO69B4E/s1600-h/bbscreen.png"&gt;&lt;img id="BLOGGER_PHOTO_ID_5265940369947544882" style="WIDTH: 322px; CURSOR: hand; HEIGHT: 242px" alt="" src="http://4.bp.blogspot.com/_jscaNf70Zgc/SRRg3ccczTI/AAAAAAAAAIk/qU0xuO69B4E/s400/bbscreen.png" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;----&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-6370360874246662536?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/6370360874246662536/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/bb8820googlemap.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6370360874246662536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6370360874246662536'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/bb8820googlemap.html' title='我的BB8820终于解决GoogleMap的问题了，不再假死'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_jscaNf70Zgc/SRRg3ccczTI/AAAAAAAAAIk/qU0xuO69B4E/s72-c/bbscreen.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-7670374955546746655</id><published>2008-11-05T10:12:00.008+08:00</published><updated>2008-11-10T16:32:57.739+08:00</updated><title type='text'>Apache2.2开启Gzip和Expires来提升网页浏览速度，yslow评分A(96)</title><content type='html'>在Apache的配置文件中找到下面两行，将注释#去掉，重启。&lt;br /&gt;&lt;br /&gt;&lt;em&gt;LoadModule deflate_module modules/mod_deflate.so&lt;/em&gt;&lt;br /&gt;&lt;em&gt;LoadModule expires_module modules/mod_expires.so&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;在你网站的目录下新建.htaccess，添加如下内容：&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&amp;lt;IfModule mod_expires.c&amp;gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;ExpiresActive On &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;ExpiresByType image/gif A2592000 &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;ExpiresByType image/jpeg A2592000 &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;ExpiresByType image/png A2592000 &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;ExpiresByType image/x-icon A2592000 &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;ExpiresByType application/x-javascript A604800&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;ExpiresByType text/css A604800&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;lt;/IfModule&amp;gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&amp;lt;IfModule mod_deflate.c&amp;gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;SetOutputFilter DEFLATE &lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&amp;lt;/IfModule&amp;gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;解释一下。ExpiresByType 是通过MIME类型来设置具体文件的缓存时间，A表示访问，A后面的数字表示访问后的缓存时间。AddOutputFilterByType表示根据后面的MIME类型来压缩文件，这里对css，html，gif，jpeg，png，JavaScript等进行gzip压缩。更多选项请参考apache手册哦。&lt;br /&gt;&lt;br /&gt;关闭ETag。Etag的问题在于，它是根据可以辨别网站所在的服务器的具有唯一性的属性来生成的。当浏览器从一台服务器上获得页面内容后到另外一台服务器上进行验证时ETag就会不匹配，这种情况对于使用服务器组和处理请求的网站来说是非常常见的。在配置文件中写入下面一行即可：&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;strong&gt;FileETag none&lt;/strong&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;如果是多服务器负载均衡，可以设置为&lt;em&gt;&lt;strong&gt;FileETag MTime Size，&lt;span style="font-size:+0;"&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt;apache默认设置为&lt;em&gt;&lt;strong&gt;FileETag INode MTime Size&lt;/strong&gt;&lt;/em&gt;，去掉&lt;strong&gt;&lt;em&gt;INode&lt;/em&gt;&lt;/strong&gt;。&lt;br /&gt;&lt;br /&gt;经过上面的设置，开启YSlow，评分A(96)。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_jscaNf70Zgc/SREHiAWHcRI/AAAAAAAAAIc/9OxDVVflQ0Q/s1600-h/yslow96.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5264997720162529554" style="WIDTH: 294px; CURSOR: hand; HEIGHT: 400px" alt="" src="http://3.bp.blogspot.com/_jscaNf70Zgc/SREHiAWHcRI/AAAAAAAAAIc/9OxDVVflQ0Q/s400/yslow96.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;--&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-7670374955546746655?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/7670374955546746655/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/apache22gzipexpiresyslowa96.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7670374955546746655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7670374955546746655'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/apache22gzipexpiresyslowa96.html' title='Apache2.2开启Gzip和Expires来提升网页浏览速度，yslow评分A(96)'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_jscaNf70Zgc/SREHiAWHcRI/AAAAAAAAAIc/9OxDVVflQ0Q/s72-c/yslow96.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-4478745754307722792</id><published>2008-11-05T10:07:00.002+08:00</published><updated>2008-11-05T10:11:28.364+08:00</updated><title type='text'>傲游“全新设计的页面内查找工具条”令我很不舒服</title><content type='html'>“全新设计的页面内查找工具条”，每次都要使用鼠标才能定位到查找关键字对话框中，或者按两次“Ctrl+F5”，对于页面开发人员来说实在太郁闷了。&lt;br /&gt;&lt;br /&gt;或者有什么快捷方式我不知道？&lt;br /&gt;&lt;br /&gt;今天把新版的卸载了，安装以前版本，&lt;a href="http://dl.maxthon.cn/cn/mx2/mx_2.1.0.2082cn.exe"&gt;mx_2.1.0.2082cn.exe&lt;/a&gt;。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-4478745754307722792?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/4478745754307722792/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4478745754307722792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4478745754307722792'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/blog-post.html' title='傲游“全新设计的页面内查找工具条”令我很不舒服'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-485790069304574593</id><published>2008-11-03T17:55:00.000+08:00</published><updated>2008-11-03T17:56:09.031+08:00</updated><title type='text'>php生成扭曲变形的验证码</title><content type='html'>&lt;div class="gmail_quote"&gt;效果：&lt;/div&gt; &lt;div class="gmail_quote"&gt;&lt;a href="http://picasaweb.google.com/lh/photo/MuSA2eXcOTdw3OeEgZVdfg"&gt;http://picasaweb.google.com/lh/photo/MuSA2eXcOTdw3OeEgZVdfg&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt; &lt;div class="gmail_quote"&gt;原理：通过数学函数对图像的点重新分布，得到扭曲效果。首先生成一副正常的图片，然后遍历每个点，取得其rgb色和坐标，通过数学函数变换点的坐标值，然后在写入到新的图像中，这样即得到扭曲的图形。要得到更复杂的图形，可以把每个字符当做一副图片，使用不同的字体，变形后再写入新的图像，就可以得到像google那样扭扭曲曲的验证码了。&lt;/div&gt; &lt;div class="gmail_quote"&gt;&amp;nbsp;&lt;/div&gt; &lt;div class="gmail_quote"&gt;line18：中&amp;quot;ROOT.&lt;span style="COLOR: #0000ff"&gt;&amp;#39;/app/vendors/MSYHBD.TTF&amp;#39;&lt;/span&gt;&amp;quot;为字体文件路径，修改指向某个字体文件即可。&lt;/div&gt; &lt;div class="gmail_quote"&gt;&amp;nbsp;&lt;/div&gt; &lt;div class="gmail_quote"&gt;代码如下，在项目中可以使用，单独拿出来未测试：&lt;/div&gt; &lt;div class="gmail_quote"&gt; &lt;div style="BACKGROUND-COLOR: #cdeb8b"&gt; &lt;div style="BACKGROUND: #fdfdfd"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="BACKGROUND-COLOR: #cdeb8b"&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;01&lt;/span&gt; &lt;span style="COLOR: #008080"&gt;&amp;lt;?php&lt;/span&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;02&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;/**&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;03&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;* 取得验证码图像&lt;/span&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;04&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;*&lt;/span&gt;&lt;br&gt;&lt;span&gt;05&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;* @param string $string 字符&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;06&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;* @param int $im_x&lt;/span&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;07&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;* @param int $im_y&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;08&lt;/span&gt; &lt;span style="COLOR: #0000ff"&gt;*/&lt;/span&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;09&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/span&gt; getAuthImage( $string , $im_x = &lt;span style="COLOR: #0000ff"&gt;120&lt;/span&gt; , $im_y = &lt;span style="COLOR: #0000ff"&gt;60&lt;/span&gt;) {&lt;br&gt; &lt;span&gt;10&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ob_start();&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;11&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $im_x = &lt;span style="COLOR: #0000ff"&gt;120&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;12&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $im_y = &lt;span style="COLOR: #0000ff"&gt;60&lt;/span&gt;;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;13&lt;/span&gt; &lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;14&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $im = imagecreatetruecolor ($im_x, $im_y);&lt;br&gt;&lt;span&gt;15&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imagefill($im, &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;, imagecolorallocate($im,&lt;span style="COLOR: #0000ff"&gt;255&lt;/span&gt;,&lt;span style="COLOR: #0000ff"&gt;255&lt;/span&gt;,&lt;span style="COLOR: #0000ff"&gt;255&lt;/span&gt;) );&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;16&lt;/span&gt; &lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;17&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $stringColor = imagecolorallocate($im, &lt;span style="COLOR: #0000ff"&gt;17&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;158&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;20&lt;/span&gt;);&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;18&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imagettftext ($im, &lt;span style="COLOR: #0000ff"&gt;24&lt;/span&gt;, rand(-&lt;span style="COLOR: #0000ff"&gt;6&lt;/span&gt; , &lt;span style="COLOR: #0000ff"&gt;6&lt;/span&gt;), $im_x*&lt;span style="COLOR: #0000ff"&gt;0.1&lt;/span&gt;, $im_y*&lt;span style="COLOR: #0000ff"&gt;0.7&lt;/span&gt;, $stringColor, ROOT.&lt;span style="COLOR: #0000ff"&gt;&amp;#39;/app/vendors/MSYHBD.TTF&amp;#39;&lt;/span&gt;, $string);&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;19&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&lt;span&gt;20&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//扭曲，变形&lt;/span&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;21&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $distortion_im = imagecreatetruecolor ($im_x*&lt;span style="COLOR: #0000ff"&gt;1.5&lt;/span&gt; , $im_y);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;22&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imagefill($distortion_im, &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;, imagecolorallocate($distortion_im,&lt;span style="COLOR: #0000ff"&gt;255&lt;/span&gt;,&lt;span style="COLOR: #0000ff"&gt;255&lt;/span&gt;,&lt;span style="COLOR: #0000ff"&gt;255&lt;/span&gt;) );&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;23&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;for&lt;/span&gt; ( $i=&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;; $i&amp;lt;$im_x; $i++) {&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;24&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;for&lt;/span&gt; ( $j=&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;; $j&amp;lt;$im_y; $j++) {&lt;br&gt; &lt;span&gt;25&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $rgb = imagecolorat($im, $i , $j);&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;26&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt;( (int)($i+&lt;span style="COLOR: #0000ff"&gt;20&lt;/span&gt;+sin($j/$im_y*&lt;span style="COLOR: #0000ff"&gt;2&lt;/span&gt;*M_PI)*&lt;span style="COLOR: #0000ff"&gt;10&lt;/span&gt;) &amp;lt;= imagesx($distortion_im) &amp;amp;&amp;amp; (int)($i+&lt;span style="COLOR: #0000ff"&gt;20&lt;/span&gt;+sin($j/$im_y*&lt;span style="COLOR: #0000ff"&gt;2&lt;/span&gt;*M_PI)*&lt;span style="COLOR: #0000ff"&gt;10&lt;/span&gt;) &amp;gt;=&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt; ) {&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;27&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imagesetpixel ($distortion_im, (int)($i+&lt;span style="COLOR: #0000ff"&gt;20&lt;/span&gt;+sin($j/$im_y*&lt;span style="COLOR: #0000ff"&gt;2&lt;/span&gt;*M_PI-M_PI*&lt;span style="COLOR: #0000ff"&gt;0.4&lt;/span&gt;)*&lt;span style="COLOR: #0000ff"&gt;8&lt;/span&gt;) , $j , $rgb);&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;28&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;29&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span&gt;30&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;31&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;32&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//imageline&lt;/span&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;33&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;for&lt;/span&gt;($i=&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;; $i &amp;lt;= &lt;span style="COLOR: #0000ff"&gt;1&lt;/span&gt;; $i++) {&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;34&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $linecolor = imagecolorallocate($distortion_im, &lt;span style="COLOR: #0000ff"&gt;17&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;158&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;20&lt;/span&gt;);&lt;br&gt; &lt;span&gt;35&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $lefty = rand(&lt;span style="COLOR: #0000ff"&gt;1&lt;/span&gt;, $im_y-&lt;span style="COLOR: #0000ff"&gt;1&lt;/span&gt;);&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;36&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $righty = rand(&lt;span style="COLOR: #0000ff"&gt;1&lt;/span&gt;, $im_y-&lt;span style="COLOR: #0000ff"&gt;1&lt;/span&gt;);&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;37&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imageline($distortion_im, &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;, $lefty, imagesx($distortion_im), $righty, $linecolor);&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;38&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;39&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//pixel&lt;/span&gt;&lt;br&gt;&lt;span&gt;40&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;for&lt;/span&gt;($i=&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;; $i &amp;lt;= &lt;span style="COLOR: #0000ff"&gt;64&lt;/span&gt;; $i++) {&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;41&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $pointcolor = imagecolorallocate($distortion_im, &lt;span style="COLOR: #0000ff"&gt;17&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;158&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;20&lt;/span&gt;);&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;42&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imagesetpixel($distortion_im, rand(&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;, imagesx($distortion_im)), rand(&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;, imagesy($distortion_im)), $pointcolor);&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;43&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;44&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//边框&lt;/span&gt;&lt;br&gt;&lt;span&gt;45&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//imagerectangle($distortion_im, 0, 0, imagesx($distortion_im)-1, imagesy($distortion_im)-1, imagecolorallocate($distortion_im, 17, 158, 20) );&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;46&lt;/span&gt; &lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;47&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ob_clean();&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;48&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; header(&lt;span style="COLOR: #0000ff"&gt;&amp;#39;Content-type: image/jpeg&amp;#39;&lt;/span&gt;);&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;49&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imagejpeg ($distortion_im);&lt;br&gt;&lt;span&gt;50&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imagedestroy($im);&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;51&lt;/span&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; imagedestroy($distortion_im);&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;52&lt;/span&gt; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;53&lt;/span&gt; &lt;span style="COLOR: #008080"&gt;?&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="gmail_quote"&gt;---&lt;/div&gt; &lt;div class="gmail_quote"&gt;&amp;nbsp;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-485790069304574593?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/485790069304574593/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/php_03.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/485790069304574593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/485790069304574593'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/11/php_03.html' title='php生成扭曲变形的验证码'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-8176779933164260086</id><published>2008-10-31T16:33:00.003+08:00</published><updated>2008-10-31T16:48:19.277+08:00</updated><title type='text'>ghs.google.com又无法访问了</title><content type='html'>10-31下午，很郁闷，blogger自己的域名无法访问了，&lt;a href="http://bloomandkevin.cn/"&gt;http://bloomandkevin.cn&lt;/a&gt;，不知是临时还是又被封掉了，不会是电信搞的鬼吧，可怜的ghs.google.com，幸好**.blogspot.com还可以访问。&lt;br /&gt;&lt;br /&gt;豆瓣也无法访问……到底怎么了？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-8176779933164260086?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/8176779933164260086/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/ghsgooglecom.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8176779933164260086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8176779933164260086'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/ghsgooglecom.html' title='ghs.google.com又无法访问了'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-5249165844219042244</id><published>2008-10-29T12:47:00.000+08:00</published><updated>2008-10-29T12:48:00.340+08:00</updated><title type='text'>失败的性格，“非常牛逼，相当见血”</title><content type='html'>&lt;div class="gmail_quote"&gt; &lt;p&gt;【作者：桑地牙哥.拉蒙卡（Santiago Ramony Cajal，1852-1934），西班牙神经解剖学家，1906年诺贝尔医学奖得主。】&lt;br&gt;&lt;br&gt;&lt;br&gt;我们看过很多极出名的大学老师，很有天分，充满了精力，以及非常主动地行动，实验室里也有很多的实验器材，可是这种老师没有任何原创性的研究，也不曾写过任何书。他的学生，及崇拜他的人，等了很多年，他们认为这么伟大的老师，最终一定会产生旷世杰作来，可是旷世杰作从来不曾出现，而老师也沉默以终。&lt;br&gt; &lt;br&gt;当然我们在解剖这类意志疾病时，不要被乐观态度或者是善良的心所欺骗了，也就是说要稍微严苛一点，来批评这种意志上的毛病。老师有非常好的声望，在课堂里面也充满热心跟精力，可是这样的老师们患了一种&amp;quot;精神意志病&amp;quot;(即性格的失败处)。当然心理学家不会这么说的，因为他们看起来是多么的健康，他们虽然在学术上慢吞吞的，及忽视了学术责任，但医生们绝不会诊断为丧失了意志力，可是他们的朋友跟学生们，还是要把这种状况，认为是不太正常，而且要对这种老师施予一点精神治疗。吾爱吾师，是国际普遍的道德，虽然对老师的学术或心智能力极为崇敬，可是，毕竟有点问题，值得思考。&lt;br&gt; &lt;br&gt;这些辉煌的失败人物，可以用下面几类名词来区分，其中第一种就是所谓的半瓶子醋的业余家，又称做空想家；第二类就是博学多闻的人，或者是爱书狂；第三类叫做仪器的崇拜狂；第四类是自大狂；第五类是不适合的人；第六类是理论专家，理论的建构者。&lt;br&gt;&lt;br&gt;【空想家】&lt;br&gt;&lt;br&gt;我称呼这一种特别病态的心理，名之为空想家。空想家之中，我们可以看到某些天文学家、自然博物家、化学家、生物学家甚至还有医生。我们可以用下列的症状，来描绘出这种空想家。他们喜欢研究大自然，可那是为了欣赏她美丽玄妙的气质，为了大自然美丽的景象，漂亮的形态，绚丽的颜色跟优雅的结构。如果这个业余家是植物学家，那么他一定会被藻类所迷住，特别是矽藻，因为矽澡美丽的外壳让他着迷，让他欣赏。在他崇拜矽藻的狂热里，他把全部的时间花在欣赏每一种矽藻，以千奇百怪的角度，替它们照相，来显现它的美丽，把这些美丽的藻类排成一个符号，甚至把它艺术化，排成一个矽藻的浮雕，甚至把它排成像盾牌一样的各式各样徽章，或者是装饰用的设计。可是他从来不曾找到一个新的品种，以增加我们所知道的种类，甚至也不会对这些微生物的结构、发育，或功能，增添任何一点新的知识。&lt;br&gt; &lt;br&gt;如果我们这位被美丽万象所迷惑的研究者，是组织学家的话，他可能就会热心地用染料来染细胞，及器官里的组织，他会把它变成艺术般的美妙。他会很精巧地使用细微的注射针，把染料打到各种的组织及各种器官里，而且他对美丽的图片有非常天真的羡慕，所以会花很多晚上来描绘，用普鲁氏蓝或用卡茗染料注入小肠肌肉或腺体的微血管后，经运输及渗透以后，出现的美丽组织网络。他会把最艺术化的组织学染色技术，学得极为精通，可是从来不曾想到，要把它们应用到新问题上面，或是用这些技术，解决争论得很热烈的题目。&lt;br&gt; &lt;br&gt;如果他是地质学家的话，他会完完全全沉醉在岩石的切片里，把这些岩石的切片放到偏极光显微镜下面，就可以看到各式各样的颜色，变化万千。如果他是细菌学家，那他就会很高兴地收集产生各种颜色的细菌，甚至产生磷光的菌。如果他是天文学家，他就会把空闲的时光，完全用来拍摄月亮上的山脉，或者是太阳黑子。&lt;br&gt;&lt;br&gt;我不需要再继续举例下去了，每一个人看过我前面所举的例子，就可以回想到他们在学校中，所遇到的各种有趣学者。他们当然是引人喜好，因为充满了少年般的热心，也因为他们会精彩及辛辣的演说，可是对于任何科学进步，他们却没任何的帮忙。&lt;br&gt; &lt;br&gt;【爱书狂跟万言通】&lt;br&gt;&lt;br&gt;我们前面提过的显微摄影专家，擅长于拍矽藻的照片，动物学家着迷于昆虫贝壳跟有美丽羽毛的鸟类。我们的爱书狂最高兴的事情，就是读最新书和专论，他认为这些东西很重要，而且很能够刺激头脑，可是别人没办法，找到另外一本同样的书。我们博学的模范，经过这种策略，让他的朋友惊奇，让他的朋友佩服。&lt;br&gt;&lt;br&gt;这种&amp;quot;意志疾病&amp;quot;的主要症状，略如下述。这个人想要有百科全书般博学，也就是说对任何知识都感到兴趣。他可以精通许多国家的语言，可是有些完全没用，而且他会订购非常专业化的学术杂志，然后从书店的书架上面，最新出版的书，而且很努力学习任何应该知道的知识，特别是并没有太多兴趣的知识。可惜的是，当谈到写作的时候，这种人就有无法克服的懒惰，提不起笔来，也不喜欢学术报告，跟实验室工作。&lt;br&gt; &lt;br&gt;很自然地，我们的书虫，住在他的图书馆里面，且为他的图书馆而活，你可以看到他的图书馆非常的壮观，到处塞满了书。在这里，他接待羡慕他的人，快乐生动且很有启发性地交谈。只要客人高兴，通常他会开始下面的问题：&amp;quot;你有否读过谁的书?(这个谁跟谁可以插进去一个美国人、德国人、法国人，或者是北欧人的名字)你有否听过某某人的经典理论呢？&amp;quot;还没听到对方的答复，他就立刻提出狂野的勇敢的理论，而他讲的这些理论跟现实没有任何关系，只是在冥想的层次里打转而已。&lt;br&gt; &lt;br&gt;我们这位博学的人，能够讨论任何题目，因此浪费了他那么精锐的聪明，这懒惰的科学人，忽略了一个非常简单、非常人性的事实，朋友责骂他，并非对他之同情，反是怜悯多而尊敬少。他们模糊地察觉一项老生常谈：&amp;quot;所谓的博学，其实没有多大科学价值，也就是说，博学必须要掌握某一特定题目，而非百科全书式地泛泛地阅读。&amp;quot;可能，爱书狂最喜欢的希望，也即他的梦想，就是让人感觉到他是天才，而且是充满文化修养的天才，他从来没有停下来想一想，对于学者来讲，他想要免于汲汲无名，跟被人家忽视之命运，一定要有超人的努力，才可以留下身后不朽声名。&lt;br&gt; &lt;br&gt;很幸运地，这方面我们不需要讲太多，就可以改正一般错误的社会价值。没人能否认下面的事实：&amp;quot;知道了还要能够行动，才能算是有用的人物。&amp;quot;而知道了就去睡觉的人物，是不被历史所尊重的。我们所尊敬的人，能够对现有人类知识作出更多创新贡献，我们并不尊敬把图书馆放到脑袋里的人，就是所谓的两脚书橱。如果一个人只想当留声机的话，他不需要用他的脑筋努力地学习，努力地反省。其实我们的神经细胞，一定要用来做更重要、更有价值的工作，我们不但要&amp;quot;知&amp;quot;，而且还要能&amp;quot;转变知识&amp;quot;，要能够体会知识，更要能创造知识，这才是科学人所应追寻的行事标准。&lt;br&gt; &lt;br&gt;对那些有杰出观察重要发现的科学家，让我们致上最高敬意跟感激；反过来，如果他们只会感情洋溢地、声音洪亮地侃侃而谈，让我们就忘掉这种人，因为他们对科学没有任何贡献。就像是一位受群众欢迎的男高音，他宏美的歌喉，渊博的知识，当然到处会受到热情的赞美，尤其是在各种社交场合里，大家都对他赞服不止；可是，他不可能等到，全世界更大之历史舞台的热烈赞美，因为聪明的听众，住在很远的地方，可能甚至还未出生，这些听众读他所写的书，不仅是听一些漂亮的广告，而且全世界听众是很严肃的，长久以来，他们的判断也是正确的。所以，他们认为重要且给予最高荣誉之成就，是科学家所发现的新事实、新现象，是他对现有知识的一些新贡献。因此，获得当世的赞美，其实并非科学家所真正期盼之物。&lt;br&gt; &lt;br&gt;【自大狂】&lt;br&gt;&lt;br&gt;一个人如果患了自大狂，其实他本质可能相当高尚，而且也有一些成功的特质，他努力学习，同时也喜欢研究，因此他崇拜行动，也学会了研究必需的技术。他心中真诚爱国，而且诚挚地，希望用科学成就，来为自己的国家及个人，赢得最高的荣誉声望。可是他的热诚，却因一个致命缺陷，变得丝毫没用。他虽然在理论上，是采取渐进的手段，可是在实际上，他完完全全仰赖着幸运女神的眷顾，似相信奇迹定会出现。一开始研究事业时，他就期望有重大的发现，可能这些人还记得以下重要的科学家，如赫兹、梅尔、史旺、仑琴跟居里夫人。他们开始研究时，就有了重大的发现，因此自大狂希望在第一次战役的时候，就从二等兵直接跃升当将军。他把全部的时间用在创造实验，改正实验，永远在热心狂热的工作中，永远在修改，永远在孕育他那伟大的工作，因为他想要一次就把一个最杰出、最广泛的成就，贡献给世界。可是，当年岁逐渐飘逸逝去，期望落空，敌手窃窃私语，而朋友搔头，弄不清楚，我们伟大的科学家为什么还是这样的沉默？为什么还没有重大的成就来震惊世界?同时，这些自大狂这么努力探究的题目，在外国竟有一本本的专论，像雨后春笋般冒出来。这些专论，终于把我们自大狂的优先权，通通夺走了，迫使他不得不改变研究的方向。他对自己的信仰没有变，自大狂现在攻击另外一个问题，而正当他要完成伟大著作时，外国敌手刊出的论文，已经又发表了最详细的研究与理论，使我们的自大狂，再度陷入痛苦的深渊之中。最后，自大狂教授，终于年老了，学生们纵容他，所以不讲任何批评的话，而聪明人知道这个状况，也只能讽刺地微笑。&lt;br&gt; &lt;br&gt;自大狂之所以会失败，是因为这些科学家开始进行研究时，并没有谦虚地、谨慎地应用自然的规律，也就是说，先研究小问题，如果成功了，自己的能力也增强了，然后，可以去进攻大一点的问题，这似乎是自然定律，其实也是人类审慎做事的基本方针。这一种很小心的做法，当然不一定立刻能博取声名，但至少这种策略能够赢得有学问的人的尊敬，还有同行的称誉及好评。&lt;br&gt;&lt;br&gt;梦想家让我们立刻想到，古代的闲谈专家(conversationalist)，也就是在沙龙里面口沫横飞的清客，我们也可以把他们当作是自大狂的一种。这种梦想家很容易辨识，因为他们说话的时候，会非常的兴奋，而且点子很多，攻击问题的方式非常的新奇，他们的眼光永远非常乐观，似乎用玫瑰色的眼镜来观察每一样东西。他们一向很有信心地说，只要是他们的想法被接受了，那么他们创造的成果，不但能扩大科学的视野，而且能带来无穷无尽的实际应用。这么大话之后，唯一的小缺点，当然是很令人惋惜的，他们的工作，从来没有完成过，甚至还没有及时完毕，就被迫终止；有时候因为支援不够，没钱了，有时候是因为环境不对，更惨的是，他们没有能干的助手，来完成伟大的工作，或者是有些资助的机构，或者***不够聪明，不够文明，以至于没办法鼓励这种工作，甚至给予金钱支持。实情是这样的，梦想家工作不力，没有坚毅的恒心，就好像作家葛拉西恩(Gracian)，在他的名著《神谕手册》(Oraculo manual)里面所说的：&amp;quot;有些人在开始的时候，即花了全部的功夫，因此没完成任何事情。他们发明，可是没有进展，每一个事情还没有结束，就停止了，因此聪明有节制的人不应该把他全部的精神，放在挑逗猎物上面，应该把精力，放在杀死猎物上。&amp;quot;&lt;br&gt; &lt;br&gt;【仪器崇拜狂】&lt;br&gt;&lt;br&gt;没有效率的科学家中，有一小类就是所谓的崇拜研究仪器的狂人，他们对金属的闪烁非常着迷，就像是夜鹰对它在镜里的反影着迷一样。他们非常仔细照顾所崇拜的东西，把仪器拭擦得雪亮，可以当镜子使用，而且把它摆饰在最崇高的地方，就好像在教堂里面的圣坛。他们的实验室非常的安静，就像是在寺庙里，僧侣都噤口不言，地板也是一尘不染，整个房间都鸦雀无声，听不到一点吵闹。&lt;br&gt;&lt;br&gt;在仪器狂的口袋里面，有一大串钥匙，走起来叮叮哨哨地响。当教授不在的时候，助理跟学生就不可能找到钥匙来使用一个仪器，或者是看一本重要的专论。他实验室里所有重要的仪器，例如显微镜、分光器、分析天平、化学试剂，完完全全都是在锁跟钥匙的掌控之下，如果助理胆敢不小心破坏了一个蔡司目镜，一个反射仪，或者是一个偏光仪，立刻就会被教授开革，所以这是一个恐怖的场面啊！还有，仪器狂通常不也都顺便掌管实验室的各种耗材吗？他把这些实验室的耗材，看作是大学里面不可侵犯的珍稀库藏，他是否紧张到随时要清点一下这些库藏，来报告他的上级呢？至于做研究证明或是推翻一个学说，那可能要等到他有空的时候才会去做，甚至要等到最近的专论，寄到学校来，有了他想要的不可或缺的资料以后，才开始动手。如果***非常大方地增加了他实验室耗材，或许，那时候他就不会这么地珍视这些耗材，说不定会拿出来当教学使用；可是如果***的钱不来的话，那怎么办呢？&lt;br&gt; &lt;br&gt;这一类老师，我想大家都至少会记得一、两个例子，是选错行业了，他们把自己当作是热心的模范官员，其实他们只是一个好管家而已。会不会让你想起，那些最优秀的家庭主妇？她们把客厅打扫得一尘不染，把客厅内的家具，谨慎地排放着，每天把地板擦得光光亮亮，可是为了怕遭灰尘及混乱，所以就把家人、亲戚跟朋友赶到餐厅里面去活动。&lt;br&gt;&lt;br&gt;很明显，这种冷酷的仪器狂，不能对任何人有好处，对自己也是个大伤害。如果这种对仪器的崇拜，再配合另外一种心理特质，那么他所患的病更是无可救药、病人膏肓了。这种特质即自私，加上令人难受的一种偏执，不让任何人能顺利工作，不让任何人使用他们的仪器，因为他们本身不知道怎么样去做事，甚至不想做事。&lt;br&gt; &lt;br&gt;【不适合的人】&lt;br&gt;&lt;br&gt;我们看到教授们常常用他的教职，当作从政的敲门砖；或者是利用教职做广告，让他在行医赚钱的时候，招到更多的顾客。如果这种人少一点的话，我们会少看到些，真正职业与例行公事间奇怪的对照，也不会看到赚钱跟学术之间，这么明显的讽刺性对比。因此想要获聘为教授时，这一位候选人，一定要提出研究生涯的目标，提出他适合这工作的性向证据。在竞争之下，我们才能聘到一位教授，他不会只把工作看作是例行公事，或是赚钱的一个跳板。&lt;br&gt; &lt;br&gt;曾经有一位剑桥大学教授告诉过我，他说：&amp;quot;英国之所以繁荣的原因，就是因为每一个人都尽心地做好自己的工作。&amp;quot;除了几个高贵例外，完完全全相反的情形，发生在我们西班牙，有很多人占着某职务，可是就是不尽责任，仅仅要领薪水，以及享受尸位素餐的快乐。我们能不能想象到一个将军，被摆到一般的***公务职员的职位，或者被摆去当法官；医学教授去研究文学或者考古学；工程师在写悲剧；病理学家把时间专注在伦理学；或者一个形而上哲学家对政治最有兴趣？这不正就是我们西班牙的写照吗？这种状况的结果，就是我们并没把全部精神耗在我们必需的工作上面，我们只把一小部分精力花在正事上，好像是个很痛苦的事情，所以很不情愿地去做它。&lt;br&gt; &lt;br&gt;当然我们不能要求一个教授的生活，或者是一个科学家的生活，要这么的严苛，要这么的单调，以至于把他整个的生命，都完全奉献到职业责任上面。我们只希望，如果工作之外他还有一点精力的话，可以把这些小精力放在轻松的、快乐的消遣上面，因为在每天认真的努力工作后，精神还是必须要放松，而放松在合法合适的消遣上面，不至于损害第二天的精力。&lt;br&gt;&lt;br&gt;有些人可能会反驳我，认为不适合的人并不是心理不正常，而是因为环境不良的关系，使得他的工作不合于他自然性向。可是，我们再如何地辩解，我认为这些缺陷及失败，还是由于意志薄弱的关系，因为如果他们自认环境不适，应该有充分的能力及精神，改变他们的前途，改变他们的工作，而不至于终老于一个他不喜欢的工作，徘徊于他自己喜欢的事业，跟一项赚钱的工作之间。&lt;br&gt; &lt;br&gt;刚才我们的观察，好像把不适合的人，说成无可救药了。但从另外一方面来讲，这种不适合的状况，并不能应用到年轻人，这些年轻人因为家庭的压力，或者是因为社会环境的残暴压力，不能够自己控制生命的方向，因此所从事的工作是被外在环境，所强加上去的。这时候他们的心灵还是很有弹性的，一旦环境许可，他们应该立刻改变他们的工作方向。他们可能在一个他们所不喜欢的科学领域里面工作，好像是从他们喜爱的心灵家乡里被流放在外，他们还是可以努力拯救自己，让他们的工作变得非常有效率。内心里要积极地决断，下决心争取高远的目标，去寻找一个喜欢的工作方向，以适合他们自己的才能。这个工作的方向很适合他们，因此可以把绝大部分的精力投注在上面。在每一个科学领域里，难道没有一个很快乐的绿洲，在那里一个人的精力、智慧可以有快乐发挥的余地吗？&lt;br&gt; &lt;br&gt;【理论家】&lt;br&gt;&lt;br&gt;另外有一种心灵，受了高度的教育，有精深的文化素养，头脑也非常的活跃，可是他患了一种脑筋昏睡病，而且这种昏睡病是很严重的，因为对于他们来讲，他们不曾察觉这种昏睡病对他们大有妨害，别人也不认为这种症状有什么重要：这种昏睡症就包括如下征候。他的头脑非常的迅速，很能够清楚表达他的意见，想象力丰富，而且活跃不止，不喜欢在实验室工作，而且非常不喜欢具体的科学，讨厌外表看起来不很重要的资料。这一种心灵的教授，他们喜欢从大尺度、大水平上来看问题，他们住在云端，他们喜欢书本，不喜欢专论，喜欢灿烂勇敢的假设，而不喜欢老生常谈。当他们遇见困难问题的时候，就有挡不住的冲动想要提出一个理论，不喜欢实实在在一步步地去质问大自然。一旦他们发现两个现象之间，有一点点相类似，或者能找到一点新资料，能够适合他们所讲的大理论时，他就诚心诚意相信，他们是最值得钦佩的科学改革家、创意家。他们这种做科学的方法，在原则上是可以的，是合法的，可是他们误用了这种方法，因为他们掉到了陷阱里去，把任何的东西，都用一个单一的观点来看。对于他们来讲，只要观念漂亮，就是最重要的。他们也不管，到底这种观念有没有任何实质的证据，只要是漂亮，只要有创意，只要能白圆其说，他们都会雀跃不止，五体投地地崇拜。&lt;br&gt; &lt;br&gt;你现在就可以想象到，理论家经常会碰到挫折及失望，因为现在的科学方法并不适合产生无所不包的理论，因此真正的天才还需要经过多年的努力，以及无止境的实验，才能建立一点点小的理论。有很多看起来是真确不移的教条，都已经被现代科学所打破了。&lt;br&gt;&lt;br&gt;所以基本上来讲，理论家其实是一个很懒惰的人，只是用他的理论来伪装成一个很勤奋的人。他在下意识里面，其实是恪遵最少努力的定律(1aw of minimum effort)，也就是什么都不做，因为创造一个理论所花的功夫，远比发现一个现象少得太多。&lt;br&gt; &lt;br&gt;德国生物化学家李比希对这一类的问题，有很睿智的判断，所以当他碰到了一个年轻有为的化学家时，就写了一些父兄般的劝告，告诉这位年轻的葛布哈特 (Gebhard)，因为葛布哈特比较有野心创造综合式理论(ambitious synthesis)。李比希说：&amp;quot;不要创造假设，因为假设会让你变成很多聪明人的敌人；倒是要努力发现新事实，因为新事实是唯一可以赢得荣耀的事，且没有人忽略它。如果你创造了新事实，这会对你有很大的好处，因为聪明的人能够证明新事实是对的，新事实为你带来朋友，甚至你的敌人也不得不重视你及尊敬你。 &amp;quot;&lt;br&gt; &lt;br&gt;李比希所写的东西，实在是事实及真理。对一个新手的未来而言，高谈理论及假设，的确会带来极大的危险，因为他想用理论来教导别人，就好像是&amp;quot;好为人师&amp;quot;的这种狂妄无知感。这种在他人的面前，显现聪明的优越感，是会引起绝大部分人的反感，大概只有修养最好的学者，以及本身已经发现很多科学事实的人，才会明智地原谅这种无知的举动。让我们先变成有用的工人，然后再看看我们是否有资格成为建筑师或设计家吧！&lt;br&gt;&lt;br&gt;那读者就可以反问我：&amp;quot;以前不是说过，做研究的时候需要有假设，那现在写什么反对提出假设来了呢?&amp;quot;我可以这么解释，我们要区分所谓工作中的假设(也就是德国科学家魏兹曼 [Weismann]所说的&amp;quot;Arbeits hypothesen&amp;quot;这句原文)，以及&amp;quot;科学的理论&amp;quot;。所谓工作中的假设，是对自然提出一种问题，叫自然回答，对自然现象提出一种解释，然后再反过来问自然有没有意见。因此工作中的假设，是研究中不可或缺的部分，甚至也是研究中最初期的工作，也是绝对必需的前提。可是如果只是不停地想象及不停地提出假设，只是以理论为最终的目的，而没有做假设来客观地分析现象，那就等于是抛弃了实际上科学的工作，而进入了哲学的理想主义(idealism)，那就等于是抛弃了现实而进入了冥想的世界。&lt;br&gt; &lt;br&gt;让我们再强调这很明显的结论，学者最重要、最正面对学问的贡献，就是他能发现多少原始资料跟数据。假设来去都很容易，可是资料是可以永远存在的、可以保留下来的；理论很容易抛弃我们，可是资料可以护卫我们，资料是我们真正的资源，我们真正的堡垒，甚至是我们最好的纪录。在世事变化、岁月如梭的人间世中，真正的数据资料可以让我们免于时间的磨损，免于人们的&amp;quot;无知&amp;quot;及&amp;quot;忘怀&amp;quot;，更能够免于人们不公平不正义之对待。如果一个人想把自己的命运完全投注在理论上的话，他就忘掉了每十五年、二十年理论就会被取代、抛弃或者被修改了。在过去几十年里，我们看看，已经有不少坚固的物理、化学、地质学、生物学理论都已经垮台了。可是就另外一个方面来讲，解剖学和生理学、化学、地质学、天文学的定律和物理学的方程式，这些树立很久的事实，仍然存在于这些学问里面，还不能被改变，而且受到严酷批评而不败。因此英国哲学家及文学家卡莱尔(Carlyle)就说过有名的话，他说：&amp;quot;给我一个事实，让我在这个事实前面顶礼、膜拜吧！&amp;quot;&lt;br&gt; &lt;br&gt;简短来说，新手科学家，要把最大的努力，放在发现原创性事实上，他应该精确的观察，及做一些有用的实验，以及精确地描述他所观察到的事实。在开始实验的计划阶段，当然可以用&amp;quot;假说&amp;quot;来刺激想象，也可以用假说来开创新的研究领域，来刺激我们的雄心去开创新的方向。如果听从了我们这些警告之后，他还是感觉到，很需要创造一个巨大的、广泛的科学理论，或者统括宇宙的说法，就让他摆到以后来做吧!当他从事丰富的观察以后，使得人家尊敬他的现察，使得他能够在科学界里，享受到普遍信赖之后，再来做这件事。只有在这时候，别人才会恭敬听他所说的，也才不会嘲笑讥讽他的大理论，这个时侯，如果幸运女神眷顾他，他可能变成科学家跟哲学家的双冠王。&lt;br&gt; &lt;br&gt;我现在已经描写了心智及意志上有毛病的各种科学家的病症，同时也用相当强烈的色彩，来加重彩绘他们道德上的弱点及知识上的贫乏。我这样做是希望把他们放到镜子前面，希望他们能与学生及羡慕者，一起来用这面镜子观察自己的缺陷。我当然知道这种手段对成年人、对心存恶意的人，其实没什么帮忙。我这样的劝告，其实只是针对那些公开渴求名望的年轻人，不管这些年轻人到底有无资格获得他所向往的名誉。当然我的说法，也可针对那些很有教养及很有训练的教授们，他们能够生产有价值的科学成果，但是因为他们在工作的过程中，受到太多失败打击，遇到太多泄气的事，他们感觉到需要模仿那些不健康、不爱国的炫耀大师，而这种放弃了自己本身的职责，去大吹大擂的倾向，可能是因为学术界已有太多恶例为范，或者是因为欠缺内心坚强的道德意志。这我都不管，不过我希望这些受过良好教育的教授们能够自觉自省。&lt;br&gt; &lt;br&gt;如果这些劝告还不能影响我想要改变的人，那么这些人应该仔细反省他们的良知，自我决定一下，看看是否应该到外国去接受精神治疗！对于那些注意力已经不专心、意志业已崩溃的教授，外国科学家的实验室可能是一个理想的治疗场所。在那里，老偏见立刻会消失，让他能够感染上神圣、令人兴奋之追求科学的狂热，在有名的学者旁边一起工作，没有意志力的科学家能够浴火重生，能够对研究重新感到兴趣。在这种实验室里，他可以观察实验室同仁们那种热烈燃烧的野心，从未知里夺取科学的秘密；他可以欣赏他们，也会嫉妒他们所表现的野心，可以吸收到实验室工作同仁，对虚浮理论及浮夸大言的轻视及嘲讽，因此可以放弃大理论，卷起袖子开始工作。而且在外国土地上，他可以重新点燃对祖国的热爱，当回到国家去，开始自己的工作之后，他也因为有外国工作的成绩，因此他可以走得更顺利，更不会被别人所攻击。在他自己的国家，他终于可以学到，如何把自己的兴趣聚焦在一点上面；而且他现在也可以了解，过去所崇拜的人物其实都是满可耻的，他可以用悲悯的心来看着他们、来观察他们。&lt;span style="FONT-SIZE: 10.5pt; LINE-HEIGHT: 200%"&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="FONT-SIZE: 10.5pt; LINE-HEIGHT: 200%"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-5249165844219042244?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/5249165844219042244/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/blog-post_29.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/5249165844219042244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/5249165844219042244'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/blog-post_29.html' title='失败的性格，“非常牛逼，相当见血”'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-6016324969095714778</id><published>2008-10-28T22:54:00.002+08:00</published><updated>2008-10-28T23:11:02.517+08:00</updated><title type='text'>亚马逊的网店，很酷！</title><content type='html'>&lt;div class="gmail_quote"&gt;地址：&lt;a href="http://windowshop.com/" target="_blank"&gt;http://windowshop.com/&lt;/a&gt;，很厉害，确实很酷！&lt;br /&gt;&lt;br /&gt;可以在线听歌，看书，还可以看电影呢。。。&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-6016324969095714778?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/6016324969095714778/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/blog-post_28.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6016324969095714778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6016324969095714778'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/blog-post_28.html' title='亚马逊的网店，很酷！'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-4124003889015767721</id><published>2008-10-24T11:38:00.001+08:00</published><updated>2008-10-24T11:38:07.522+08:00</updated><title type='text'>密码强度验证javascript，来自Ext.ux.PasswordMeter</title><content type='html'>&lt;div&gt;强度计算函数：&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;div style="BACKGROUND-COLOR: #cdeb8b"&gt; &lt;div style="BACKGROUND-COLOR: #cdeb8b"&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;01&lt;/span&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;/**&lt;/span&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;02&lt;/span&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;&amp;nbsp;&amp;nbsp; * Calculates the strength of a password&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;03&lt;/span&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;&amp;nbsp;&amp;nbsp; * @param {Object} p The password that needs to be calculated&lt;/span&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;04&lt;/span&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;&amp;nbsp;&amp;nbsp; * @return {int} intScore The strength score of the password&lt;/span&gt;&lt;br&gt; &lt;span&gt;05&lt;/span&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;&amp;nbsp;&amp;nbsp; */&lt;/span&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;06&lt;/span&gt;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;var&lt;/span&gt; calcStrength = &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/span&gt;(p) {&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;07&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;var&lt;/span&gt; intScore = &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;08&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// PASSWORD LENGTH&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;09&lt;/span&gt;&amp;nbsp;&amp;nbsp; intScore += p.length;&lt;br&gt;&lt;span&gt;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;11&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt;(p.length &amp;gt; &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt; &amp;amp;&amp;amp; p.length &amp;lt;= &lt;span style="COLOR: #0000ff"&gt;4&lt;/span&gt;) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// length 4 or less&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += p.length;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;13&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;14&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;else&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.length &amp;gt;= &lt;span style="COLOR: #0000ff"&gt;5&lt;/span&gt; &amp;amp;&amp;amp; p.length &amp;lt;= &lt;span style="COLOR: #0000ff"&gt;7&lt;/span&gt;) { &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// length between 5 and 7&lt;/span&gt;&lt;br&gt; &lt;span&gt;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;6&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;16&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;17&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;else&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.length &amp;gt;= &lt;span style="COLOR: #0000ff"&gt;8&lt;/span&gt; &amp;amp;&amp;amp; p.length &amp;lt;= &lt;span style="COLOR: #0000ff"&gt;15&lt;/span&gt;) { &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// length between 8 and 15&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;18&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;12&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;19&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//alert(intScore);&lt;/span&gt;&lt;br&gt; &lt;span&gt;20&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;21&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;else&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.length &amp;gt;= &lt;span style="COLOR: #0000ff"&gt;16&lt;/span&gt;) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// length 16 or more&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;18&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;23&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//alert(intScore);&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;24&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span&gt;25&lt;/span&gt;&amp;nbsp; &lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;26&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// LETTERS (Not exactly implemented as dictacted above because of my limited understanding of Regex)&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;27&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.match(&lt;span style="COLOR: #0000ff"&gt;/[a-z]/&lt;/span&gt;)) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// [verified] at least one lower case letter&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;28&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;1&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;29&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span&gt;30&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.match(&lt;span style="COLOR: #0000ff"&gt;/[A-Z]/&lt;/span&gt;)) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// [verified] at least one upper case letter&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;31&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;5&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;32&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;33&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// NUMBERS&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;34&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.match(&lt;span style="COLOR: #0000ff"&gt;/\d/&lt;/span&gt;)) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// [verified] at least one number&lt;/span&gt;&lt;br&gt; &lt;span&gt;35&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;5&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;36&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;37&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.match(&lt;span style="COLOR: #0000ff"&gt;/.*\d.*\d.*\d/&lt;/span&gt;)) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// [verified] at least three numbers&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;38&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;5&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;39&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span&gt;40&lt;/span&gt;&amp;nbsp; &lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;41&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// SPECIAL CHAR&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;42&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.match(&lt;span style="COLOR: #0000ff"&gt;/[!,@,#,$,%,^,&amp;amp;,*,?,_,~]/&lt;/span&gt;)) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// [verified] at least one special character&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;43&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;5&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;44&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span&gt;45&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// [verified] at least two special characters&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;46&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.match(&lt;span style="COLOR: #0000ff"&gt;/.*[!,@,#,$,%,^,&amp;amp;,*,?,_,~].*[!,@,#,$,%,^,&amp;amp;,*,?,_,~]/&lt;/span&gt;)) {&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;47&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;5&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;48&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;49&lt;/span&gt;&amp;nbsp; &lt;br&gt; &lt;span&gt;50&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// COMBOS&lt;/span&gt;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;51&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.match(&lt;span style="COLOR: #0000ff"&gt;/(?=.*[a-z])(?=.*[A-Z])/&lt;/span&gt;)) {&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// [verified] both upper and lower case&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;52&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;2&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;53&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;54&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.match(&lt;span style="COLOR: #0000ff"&gt;/(?=.*\d)(?=.*[a-z])(?=.*[A-Z])/&lt;/span&gt;)) { &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// [verified] both letters and numbers&lt;/span&gt;&lt;br&gt; &lt;span&gt;55&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;2&lt;/span&gt;;&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;56&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;57&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;// [verified] letters, numbers, and special characters&lt;/span&gt;&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;58&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; (p.match(&lt;span style="COLOR: #0000ff"&gt;/(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!,@,#,$,%,^,&amp;amp;,*,?,_,~])/&lt;/span&gt;)) {&lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;59&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intScore += &lt;span style="COLOR: #0000ff"&gt;2&lt;/span&gt;;&lt;br&gt;&lt;span&gt;60&lt;/span&gt;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;61&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;return&lt;/span&gt; intScore; &lt;br&gt; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;62&lt;/span&gt;};&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;div&gt;使用：&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;div style="BACKGROUND-COLOR: #ffffff"&gt; &lt;div style="BACKGROUND-COLOR: #ffffff"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;input&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;type=&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;password&amp;quot;&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;name=&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;data[Shopkeeper][password]&amp;quot;&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;value=&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;&amp;quot;&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;id=&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;ShopkeeperPassword&amp;quot;&lt;/span&gt;&amp;nbsp; &lt;span style="COLOR: #ff0000"&gt;tabindex=&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;3″&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;maxlength=&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;&amp;quot;32″&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;  &lt;div style="BACKGROUND-COLOR: #ffffff"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div&gt; &lt;div style="BACKGROUND-COLOR: #ffffff"&gt; &lt;div style="BACKGROUND: #fdfdfd"&gt;&amp;nbsp;JS：&lt;/div&gt; &lt;div style="BACKGROUND: #fdfdfd"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="BACKGROUND-COLOR: #ffffff"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;var&lt;/span&gt; grade = calcStrength(&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;this&lt;/span&gt;.value);&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//即可得到密码强度值&lt;/span&gt;&lt;/div&gt;  &lt;div style="BACKGROUND-COLOR: #ffffff"&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//我自己用的强度等级&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;var&lt;/span&gt; gradeMsg = grade &amp;lt;=&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt; ? &lt;span style="COLOR: #0000ff"&gt;&amp;quot;&lt;/span&gt; : (grade &amp;lt; &lt;span style="COLOR: #0000ff"&gt;23&lt;/span&gt; ? &lt;span style="COLOR: #0000ff"&gt;&amp;#39;弱&amp;#39;&lt;/span&gt; : (grade &amp;lt; &lt;span style="COLOR: #0000ff"&gt;40&lt;/span&gt; ? &lt;span style="COLOR: #0000ff"&gt;&amp;#39;一般&amp;#39;&lt;/span&gt; : (grade &amp;lt; &lt;span style="COLOR: #0000ff"&gt;60&lt;/span&gt; ? &lt;span style="COLOR: #0000ff"&gt;&amp;#39;强&amp;#39;&lt;/span&gt; : &lt;span style="COLOR: #0000ff"&gt;&amp;#39;极强&amp;#39;&lt;/span&gt;))) ;&lt;/div&gt;  &lt;div style="BACKGROUND-COLOR: #ffffff"&gt;&lt;br&gt;&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;&amp;nbsp;完整版演示及下载：&lt;a href="http://testcases.pagebakers.com/PasswordMeter/" target="_blank"&gt;http://testcases.pagebakers.com/PasswordMeter/&lt;/a&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-4124003889015767721?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/4124003889015767721/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/javascriptextuxpasswordmeter.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4124003889015767721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/4124003889015767721'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/javascriptextuxpasswordmeter.html' title='密码强度验证javascript，来自Ext.ux.PasswordMeter'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-3546390133277153500</id><published>2008-10-24T11:29:00.001+08:00</published><updated>2008-10-24T11:29:50.571+08:00</updated><title type='text'>五十岁左右的人生最幸福</title><content type='html'>&lt;p&gt;晚上和大宝打电话，大宝说五十岁左右的人生最幸福。不明白，大宝说因为那个时候对做事分寸拿捏的很好，知道什么样的方式最好，不像二十来岁的时候，虽然想对别人好，却总是会伤害到别人。&lt;/p&gt; &lt;p&gt;我觉得尤其对于所爱的人是这样。&amp;nbsp;&lt;/p&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-3546390133277153500?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/3546390133277153500/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/blog-post_24.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/3546390133277153500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/3546390133277153500'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/blog-post_24.html' title='五十岁左右的人生最幸福'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-690553700008474172</id><published>2008-10-24T11:27:00.001+08:00</published><updated>2008-10-24T11:27:33.944+08:00</updated><title type='text'>JQuery背景褪色解决方案，需插件Color Animations</title><content type='html'>&lt;p&gt;背景褪色一般用于信息更改时提醒，一般使用的黄渐变（yellow fade ）。&lt;/p&gt; &lt;p&gt;jquery1.2以后可以使用，但需要插件&lt;a href="http://plugins.jquery.com/project/color" target="_blank"&gt;&lt;font color="#fa4949"&gt;Color Animations&lt;/font&gt;&lt;/a&gt;&amp;nbsp;，首先下载插件，在页面中包含进来。&lt;/p&gt; &lt;p&gt;使用animate动画函数，设置backgroundColor属性即可，值形式可以为 rgb(num,num,num)，rgb(num%,num%,num%)，#a0b1c2&lt;br&gt;，#fff，。同时适用的属性还有：[&amp;#39;backgroundColor&amp;#39;, &amp;#39;borderBottomColor&amp;#39;, &amp;#39;borderLeftColor&amp;#39;, &amp;#39;borderRightColor&amp;#39;, &amp;#39;borderTopColor&amp;#39;, &amp;#39;color&amp;#39;, &amp;#39;outlineColor&amp;#39;]。&lt;/p&gt;  &lt;div&gt;代码1：&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;div id="codee_html" style="BACKGROUND-COLOR: #cdeb8b"&gt; &lt;div class="source" style="FONT-FAMILY: &amp;#39;[object]&amp;#39;,&amp;#39;Consolas&amp;#39;,&amp;#39;Lucida Console&amp;#39;,&amp;#39;Courier New&amp;#39;; BACKGROUND-COLOR: #cdeb8b"&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;&amp;lt;?php&lt;/span&gt;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;$&lt;/span&gt;(&lt;span style="COLOR: #0000ff"&gt;&amp;#39;.block&amp;#39;&lt;/span&gt;).animate( { backgroundColor: &lt;span style="COLOR: #0000ff"&gt;&amp;#39;pink&amp;#39;&lt;/span&gt; }, &lt;span style="COLOR: #0000ff"&gt;1000&lt;/span&gt;)&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .animate( { backgroundColor: &lt;span style="COLOR: #0000ff"&gt;&amp;#39;blue&amp;#39;&lt;/span&gt; }, &lt;span style="COLOR: #0000ff"&gt;1000&lt;/span&gt;);&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;});&lt;br&gt; &lt;span class="lineno special"&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;?&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;代码2：&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;div id="codee_html" style="BACKGROUND-COLOR: #cdeb8b"&gt; &lt;div class="source" style="FONT-FAMILY: &amp;#39;[object]&amp;#39;,&amp;#39;Consolas&amp;#39;,&amp;#39;Lucida Console&amp;#39;,&amp;#39;Courier New&amp;#39;; BACKGROUND-COLOR: #cdeb8b"&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;&amp;lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" &lt;/span&gt;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="COLOR: #008080"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "&lt;a href="http://www.w3.org/TR/html4/loose.dtd"&gt;http://www.w3.org/TR/html4/loose.dtd&lt;/a&gt;"&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span class="lineno special"&gt;&lt;/span&gt;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;script &lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;src=&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;"&lt;a href="http://code.jquery.com/jquery-latest.js"&gt;http://code.jquery.com/jquery-latest.js&lt;/a&gt;"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp; $(document).ready(&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/span&gt;(){&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;"#&lt;/span&gt;go&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;"&lt;/span&gt;).click(&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/span&gt;(){&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp; $(&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;"&lt;/span&gt;.block&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;"&lt;/span&gt;).animate( { backgroundColor: &lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;'&lt;/span&gt;pink&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;'&lt;/span&gt; }, &lt;span style="COLOR: #0000ff"&gt;1000&lt;/span&gt;)&lt;br&gt; &lt;span class="lineno special"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .animate( { backgroundColor: &lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;'&lt;/span&gt;blue&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;'&lt;/span&gt; }, &lt;span style="COLOR: #0000ff"&gt;1000&lt;/span&gt;);&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;});&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp; });&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="lineno special"&gt;&lt;/span&gt;.block {&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;background-color&lt;/span&gt;: blue;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;width&lt;/span&gt;: &lt;span style="COLOR: #0000ff"&gt;150px&lt;/span&gt;;&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;height&lt;/span&gt;: &lt;span style="COLOR: #0000ff"&gt;70px&lt;/span&gt;;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;margin&lt;/span&gt;: &lt;span style="COLOR: #0000ff"&gt;10px&lt;/span&gt;;&lt;br&gt;&lt;span class="lineno special"&gt;&lt;/span&gt;}&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;script &lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;src=&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;"&lt;a href="http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js"&gt;http://dev.jquery.com/view/trunk/plugins/color/jquery.color.js&lt;/a&gt;"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span class="lineno special"&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;button&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;id=&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;"go"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;gt;&lt;/span&gt;» Run&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;/button&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;div&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;class=&lt;/span&gt;&lt;span style="COLOR: #0000ff"&gt;"block"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;gt;&amp;lt;/div&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;br&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;简单说一下原理：&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;div id="codee_html" style="BACKGROUND-COLOR: #cdeb8b"&gt; &lt;div class="source" style="FONT-FAMILY: &amp;#39;[object]&amp;#39;,&amp;#39;Consolas&amp;#39;,&amp;#39;Lucida Console&amp;#39;,&amp;#39;Courier New&amp;#39;; BACKGROUND-COLOR: #cdeb8b"&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//将所有color的属性都设置一遍，以后在设置这些属性值时会调用下面定义的step函数&lt;/span&gt;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; jQuery.each([&lt;span style="COLOR: #0000ff"&gt;&amp;#39;backgroundColor&amp;#39;&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;&amp;#39;borderBottomColor&amp;#39;&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;&amp;#39;borderLeftColor&amp;#39;&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;&amp;#39;borderRightColor&amp;#39;&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;&amp;#39;borderTopColor&amp;#39;&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;&amp;#39;color&amp;#39;&lt;/span&gt;, &lt;span style="COLOR: #0000ff"&gt;&amp;#39;outlineColor&amp;#39;&lt;/span&gt;], &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/span&gt;(i,attr){&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jQuery.fx.step[attr] = &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;function&lt;/span&gt;(fx){&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="FONT-WEIGHT: bold; COLOR: #000080"&gt;if&lt;/span&gt; ( fx.state == &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt; ) {&lt;br&gt; &lt;span class="lineno special"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//取得当前的属性值，转为[255,255,255]的形式&lt;/span&gt;&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fx.start = getColor( fx.elem, attr );&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//取得设置的值，转为[255,255,255]的形式&lt;/span&gt;&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fx.end = getRGB( fx.end );&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span class="lineno special"&gt;&lt;/span&gt;&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fx.elem.style[attr] = &lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;"&lt;/span&gt;rgb(&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;"&lt;/span&gt; + [&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: #008800; FONT-STYLE: italic"&gt;//用end-start的值乘以比率，在加上start的值，即得到每step的值。fx.pos为动画的完成比率&lt;/span&gt;&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Math.max(Math.min( parseInt((fx.pos * (fx.end[&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;] - fx.start[&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;])) + fx.start[&lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;]), &lt;span style="COLOR: #0000ff"&gt;255&lt;/span&gt;), &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;),&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Math.max(Math.min( parseInt((fx.pos * (fx.end[&lt;span style="COLOR: #0000ff"&gt;1&lt;/span&gt;] - fx.start[&lt;span style="COLOR: #0000ff"&gt;1&lt;/span&gt;])) + fx.start[&lt;span style="COLOR: #0000ff"&gt;1&lt;/span&gt;]), &lt;span style="COLOR: #0000ff"&gt;255&lt;/span&gt;), &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;),&lt;br&gt; &lt;span class="lineno special"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Math.max(Math.min( parseInt((fx.pos * (fx.end[&lt;span style="COLOR: #0000ff"&gt;2&lt;/span&gt;] - fx.start[&lt;span style="COLOR: #0000ff"&gt;2&lt;/span&gt;])) + fx.start[&lt;span style="COLOR: #0000ff"&gt;2&lt;/span&gt;]), &lt;span style="COLOR: #0000ff"&gt;255&lt;/span&gt;), &lt;span style="COLOR: #0000ff"&gt;0&lt;/span&gt;)&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ].join(&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;"&lt;/span&gt;,&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;"&lt;/span&gt;) + &lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;"&lt;/span&gt;)&lt;span style="COLOR: #a61717; BACKGROUND-COLOR: #e3d2d2"&gt;"&lt;/span&gt;;&lt;br&gt; &lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&lt;span class="lineno" style="COLOR: #008800; FONT-STYLE: italic"&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt; &lt;p&gt;效果演示：&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.webdesignerwall.com/demo/jquery/wordpress-comments.html" target="_blank"&gt;&lt;font color="#fa4949"&gt;http://www.webdesignerwall.com/demo/jquery/wordpress-comments.html&lt;/font&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;参考：&lt;/p&gt; &lt;p&gt;&lt;a href="http://wiki.guoshuang.com/Release:jQuery_1.2" target="_blank"&gt;&lt;font color="#fa4949"&gt;http://wiki.guoshuang.com/Release:jQuery_1.2&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-690553700008474172?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/690553700008474172/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/jquerycolor-animations.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/690553700008474172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/690553700008474172'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/jquerycolor-animations.html' title='JQuery背景褪色解决方案，需插件Color Animations'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-8681987981109868182</id><published>2008-10-23T23:36:00.005+08:00</published><updated>2008-10-24T00:08:28.445+08:00</updated><title type='text'>如何在cakephp的布局文件中包含多个模板？</title><content type='html'>cake中的布局（layout）确实不错，可惜不能包含多个模板文件（view）进来。&lt;br /&gt;前几天在网上看到一个实现方法，&lt;a href="http://www.xuzhousoft.cn/content/view/48/1/" mce_href="http://www.xuzhousoft.cn/content/view/48/1/"&gt;http://www.xuzhousoft.cn/content/view/48/1/&lt;/a&gt; ，看了一下代码，是用helper来实现的，感觉有点费劲。从代码看，其view文件中应该不支持$session，$html之类的了。&lt;br /&gt;下面介绍一款简单实用的方法。先来看看cake的layout是如何实现下面这个的：&lt;br /&gt;&lt;div class="source"   jquery1224777665937="2" style="font-family:'[object]','Consolas','Lucida Console','Courier New';color:#cdeb8b;"&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;1&lt;/span&gt; &lt;span style="color:#008080;"&gt;&amp;lt;?php&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold;color:#000080;" &gt;echo&lt;/span&gt; $content_for_layout; &lt;span style="color:#008080;"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;在cake/libs/view/view.php中有个方法叫做： function renderLayout()其中有$data_for_layout如下：&lt;br /&gt;&lt;div class="source"   jquery1224777728359="2" style="font-family:'[object]','Consolas','Lucida Console','Courier New';color:#cdeb8b;"&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;01&lt;/span&gt; &lt;span style="color:#008080;"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;02&lt;/span&gt; $data_for_layout = array_merge($this-&amp;gt;&lt;span style="color:#ff0000;"&gt;viewVars&lt;/span&gt;,&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;03&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold;color:#000080;" &gt;array&lt;/span&gt;(&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;04&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;'title_for_layout'&lt;/span&gt; =&amp;gt; $pageTitle,&lt;br /&gt;&lt;span class="lineno special"&gt;05&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;'content_for_layout'&lt;/span&gt; =&amp;gt; $content_for_layout,&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;06&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;'scripts_for_layout'&lt;/span&gt; =&amp;gt; join(&lt;span style="color:#0000ff;"&gt;"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;\n\t&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;"&lt;/span&gt;, $this-&amp;gt;&lt;span style="color:#ff0000;"&gt;__scripts&lt;/span&gt;),&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;07&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;'cakeDebug'&lt;/span&gt; =&amp;gt; $debug&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;08&lt;/span&gt; )&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;09&lt;/span&gt; );&lt;br /&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt; &lt;span style="color:#008080;"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;也就是说实现的数据都是准备好的，从这一点上来讲就很难扩展了，因为变量就那么几个啊。&lt;br /&gt;下面介绍一个方法，看代码：&lt;br /&gt;&lt;div class="source"   jquery1224777828750="2" style="font-family:'[object]','Consolas','Lucida Console','Courier New';color:#cdeb8b;"&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;01&lt;/span&gt; &lt;span style="color:#008080;"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;02&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;/**&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;03&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;* 引入其他view文件，在layout中支持多个view&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;04&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno special"&gt;05&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;* @param string $name 在view目录下的文件&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;06&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;* @return string&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;07&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;* &lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;08&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;09&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold;color:#000080;" &gt;function&lt;/span&gt; template($name) {&lt;br /&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt; $s = addslashes( ROOT.DS.APP_DIR.DS.&lt;span style="color:#0000ff;"&gt;'views'&lt;/span&gt;.DS.$name.&lt;span style="color:#0000ff;"&gt;'.ctp'&lt;/span&gt; );&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;11&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold;color:#000080;" &gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;"require(&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;\"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;$s&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;\"&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;);"&lt;/span&gt;;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;12&lt;/span&gt; }&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;13&lt;/span&gt; &lt;span style="color:#008080;"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;将这个函数添加到你的项目中去，然后在你的layout中添加如下代码即可包含多个view：&lt;br /&gt;view/layout/default.ctp&lt;br /&gt;&lt;div class="source"   jquery1224777881390="2" style="font-family:'[object]','Consolas','Lucida Console','Courier New';color:#cdeb8b;"&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;1&lt;/span&gt; ...&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;2&lt;/span&gt; &lt;span style="color:#008080;"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;3&lt;/span&gt; &lt;span style="FONT-STYLE: italic;color:#008800;" &gt;//包含模板 include you template&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;4&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold;color:#000080;" &gt;eval&lt;/span&gt;(template(&lt;span style="color:#0000ff;"&gt;'elements'&lt;/span&gt;.DS.&lt;span style="color:#0000ff;"&gt;'hello'&lt;/span&gt;));&lt;br /&gt;&lt;span class="lineno special"&gt;5&lt;/span&gt; &lt;span style="color:#008080;"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;6&lt;/span&gt; ...&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;view/elements/hello.ctp&lt;br /&gt;&lt;div class="source"   jquery1224777926062="2" style="font-family:'[object]','Consolas','Lucida Console','Courier New';color:#cdeb8b;"&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;1&lt;/span&gt; &lt;span style="color:#008080;"&gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;2&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold;color:#000080;" &gt;echo&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;'yes!'&lt;/span&gt;;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;3&lt;/span&gt; &lt;span style="FONT-STYLE: italic;color:#008800;" &gt;//可以支持controller中声明的所有变量和helper&lt;/span&gt;&lt;br /&gt;&lt;span class="lineno" style="FONT-STYLE: italic;color:#008800;" &gt;4&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold;color:#000080;" &gt;echo&lt;/span&gt; $session-&amp;gt;&lt;span style="color:#ff0000;"&gt;read&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;'Login.name'&lt;/span&gt;);&lt;br /&gt;&lt;span class="lineno special"&gt;5&lt;/span&gt; &lt;span style="color:#008080;"&gt;?&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;呵呵，很简单吧！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-8681987981109868182?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/8681987981109868182/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/cakelayoutview-httpwww.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8681987981109868182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/8681987981109868182'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/cakelayoutview-httpwww.html' title='如何在cakephp的布局文件中包含多个模板？'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-3845558791171411358</id><published>2008-10-14T17:35:00.003+08:00</published><updated>2008-10-14T17:42:07.589+08:00</updated><title type='text'>摘几句《死亡诗社》的台词，百看不厌</title><content type='html'>&lt;div align="center"&gt;&lt;strong&gt;我步入丛林 &lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;strong&gt;因为我希望生活有意义 &lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;strong&gt;我希望活的深刻 &lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;strong&gt;吸取生命中所有的精华 &lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;strong&gt;把非生命的一切都击溃 &lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;strong&gt;以免当我生命终结 &lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;br /&gt;&lt;strong&gt;发现自己从没有活过&lt;/strong&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;strong&gt;　&lt;br /&gt;　　“I went to the woods because I wanted to live deliberately. I wanted to live deep and suck out all the marrow of life！To put to rout all that was not life. And not, when I came to die, discover that I had not lived。”&lt;br /&gt;&lt;br /&gt;　　“只有在梦想中，人才能真正自由，从来如此，并将永远如此。”&lt;br /&gt;　　&lt;br /&gt;　　“两条路在森林里分叉，我选择走的人少的那条。”&lt;br /&gt;&lt;br /&gt;　　“假如我们不能改变这个世界，那我们至少应该改变我们的生活，自由自在地活着”。遥远的日子里，米兰昆德拉如是说。&lt;/strong&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-3845558791171411358?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/3845558791171411358/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/blog-post.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/3845558791171411358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/3845558791171411358'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/blog-post.html' title='摘几句《死亡诗社》的台词，百看不厌'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-6815651087546332809</id><published>2008-10-07T11:27:00.007+08:00</published><updated>2008-10-07T11:41:14.466+08:00</updated><title type='text'>新的cakephp1.2中你可以在URL中使用名字作为参数</title><content type='html'>&lt;span style="font-family:arial;"&gt;参考：&lt;a href="http://book.cakephp.org/cn/view/541/Named-parameters"&gt;http://book.cakephp.org/cn/view/541/Named-parameters&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;New in CakePHP 1.2 is the ability to use named parameters. You can name parameters and send their values using the URL. A request for /posts/view/title:first+post/category:general would result in a call to the view() action of the PostsController. In that action, you’d find the values of the title and category parameters inside $this-&gt;passedArgs[‘title’] and $this-&gt;passedArgs[‘category’] respectively.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;新的cakephp1.2中你可以在URL中使用名字作为参数，请求 ‘/posts/view/title:first+post/category:general’ 会自动调用PostsController中view()方法，在此action中包含了title和category的值，通过 $this-&gt;passedArgs[‘title’]和$this-&gt;passedArgs[‘category’] 来访问。&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;URL to controller action mapping using default routes:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;默认路由下URL到控制器和Action的映射：&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;URL: /monkeys/jump&lt;br /&gt;Mapping: MonkeysController-&gt;jump();&lt;br /&gt;&lt;br /&gt;URL: /products&lt;br /&gt;Mapping: ProductsController-&gt;index();&lt;br /&gt;&lt;br /&gt;URL: /tasks/view/45&lt;br /&gt;Mapping: TasksController-&gt;view(45);&lt;br /&gt;&lt;br /&gt;URL: /donations/view/recent/2001&lt;br /&gt;Mapping: DonationsController-&gt;view('recent', '2001');&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;URL: /contents/view/chapter:models/section:associations&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;Mapping: ContentsController-&gt;view();&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;$this-&gt;passedArgs['chapter'] = 'models';&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;$this-&gt;passedArgs['section'] = 'associations';&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-6815651087546332809?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/6815651087546332809/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/cakephp12url.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6815651087546332809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/6815651087546332809'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/10/cakephp12url.html' title='新的cakephp1.2中你可以在URL中使用名字作为参数'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-1723600651977187813</id><published>2008-09-27T13:58:00.003+08:00</published><updated>2008-09-27T14:09:53.792+08:00</updated><title type='text'>让你的Firefox支持显示XHTML-MP</title><content type='html'>最近在开发&lt;a href="http://m.dangdang.com/"&gt;m.dangdang.com&lt;/a&gt;，使用页面标记语言是xhtml-mp，IE是无法显示的。在开发时候需要使用opera来调试（opera还支持wml，wap网站还可以直接看），后来发现Firefox也可以显示xhtml-mp，安装插件即可，&lt;a href="https://addons.mozilla.org/zh-CN/firefox/addon/1345"&gt;https://addons.mozilla.org/zh-CN/firefox/addon/1345&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;Firefox does not natively support the mime-type&lt;br /&gt;application/vnd.wap.xhtml+xml. This is one of the possible mime-types for XHTML&lt;br /&gt;Mobile Profile. This extension adds support for this mime-type. (The other,&lt;br /&gt;application/xhtml+xml, is supported natively by Firefox.)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;Firefox并不原生支持 mime-type为application/vnd.wap.xhtml+xml的页面，本插件使之成为可能。（Firefox是支持XHTML的）。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-1723600651977187813?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/1723600651977187813/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/09/firefoxxhtml-mp.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/1723600651977187813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/1723600651977187813'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/09/firefoxxhtml-mp.html' title='让你的Firefox支持显示XHTML-MP'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-3099614084483037264</id><published>2008-09-27T13:53:00.003+08:00</published><updated>2008-09-27T13:58:41.722+08:00</updated><title type='text'>IE和FF打开网页不显示背景颜色，只显示图片</title><content type='html'>&lt;p&gt;今天系统很奇怪，IE浏览器不显示网页背景色，图片和动画都正常，打开Firefox试了一下也不行，只有opera可以。上网搜索一下，解决方法如下：&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;在“控制面板”的“辅助功能选项”下有一“显示”标签，单击该标签后看到“使用高对比度”选项被勾选。清除该选项后，重新启动IE，故障消除。&lt;/p&gt;&lt;/blockquote&gt;其实不需要重启浏览器，直接刷新就没有问题了。 原来是自己一不小心修改了控制面板里头的选项。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-3099614084483037264?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/3099614084483037264/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/09/ieff.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/3099614084483037264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/3099614084483037264'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/09/ieff.html' title='IE和FF打开网页不显示背景颜色，只显示图片'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-276648178940108370</id><published>2008-09-11T11:22:00.005+08:00</published><updated>2008-10-06T17:49:16.050+08:00</updated><title type='text'>cakephp开发笔记（1）</title><content type='html'>&lt;strong&gt;1.如何开发‘xhtml-mp’的页面？&lt;/strong&gt;&lt;br /&gt;只需在布局模板头部修改成下面这样即可。注意下面第二行的，必须打印，否则php会混淆‘&amp;lt;?’的标记，编译出错。&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;?php header('Content-type: application/vnd.wap.xhtml+xml');?&amp;gt;&lt;br /&gt;&amp;lt;?php echo '&amp;lt;?xml version="1.0" encoding="utf-8"?&amp;gt;';?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd"&amp;gt;&lt;br /&gt;&amp;lt;html xmlns="http://www.w3.org/1999/xhtml"&amp;gt;&amp;lt;head&amp;gt;...&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2.一个构思很酷的函数a（）&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;00210 /**&lt;br /&gt;00211 * Returns an array of all the given parameters.&lt;br /&gt;00212 *&lt;br /&gt;00213 * Example:&lt;br /&gt;00214 * &lt;code&gt;&lt;br /&gt;00215 * a('a', 'b')&lt;br /&gt;00216 * &lt;/code&gt;&lt;br /&gt;00217 *&lt;br /&gt;00218 * Would return:&lt;br /&gt;00219 * &lt;code&gt;&lt;br /&gt;00220 * array('a', 'b')&lt;br /&gt;00221 * &lt;/code&gt;&lt;br /&gt;00222 *&lt;br /&gt;00223 * @return array Array of given parameters&lt;br /&gt;00224 */&lt;br /&gt;00225 function a() {&lt;br /&gt;00226 $args = func_get_args();&lt;br /&gt;00227 return $args;&lt;br /&gt;00228 }&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3.我安装cakephp1.2出现的问题 &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;3.1. .php文件无法执行&lt;br /&gt;&lt;br /&gt;解决办法：将php的目录添加到系统环境变量中去。&lt;br /&gt;&lt;br /&gt;3.2. 找不到php_exif.dll的扩展&lt;br /&gt;&lt;br /&gt;原因是必须在php_mbstring.dll之后加载再加载php_exif.dll。php_exif.dll(EXIF 函数库)需要php_mbstring.dll,并且在 php.ini中，php_exif.dll必须在php_mbstring.dll之后加载。&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4.cake bake的几个常用方法（cakephp1.2，已将.../cake/console添加windows环境变量）&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;创建新的应用，名为baz&lt;br /&gt;&lt;em&gt;cake bake baz&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;创建model（以下均需cmd到目录：D:\wamp\www\cake\baz（windows））&lt;br /&gt;&lt;em&gt;cake bake model [model name]&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;创建controller&lt;br /&gt;&lt;em&gt;cake bake controller Users&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;使用脚手架。额外创建：index, add, view, edit, and delete方法&lt;br /&gt;&lt;em&gt;cake bake controller Users scaffold&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;带有admin_index, admin_add, admin_view, admin_edit and admin_delete的脚手架&lt;br /&gt;&lt;em&gt;cake bake controller Users scaffold admin&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;创建视图&lt;br /&gt;&lt;em&gt;cake bake view Users&lt;/em&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="FONT-WEIGHT: bold"&gt;5.cakephp中取消方法vendor(),改为App::import('Vendor' , '...');&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Description&lt;br /&gt;&lt;br /&gt;The code I had before was&lt;br /&gt;&lt;br /&gt;vendor('Swift');&lt;br /&gt;vendor('EasySwift');&lt;br /&gt;vendor('Swift/Connection/SMTP');&lt;br /&gt;But the latest nightly told me "(vendor) Deprecated, see App::import('Vendor', '...');". So I modified my code to say&lt;br /&gt;&lt;br /&gt;App::import('Vendor', 'Swift');&lt;br /&gt;App::import('Vendor', 'EasySwift');&lt;br /&gt;App::import('Vendor', 'Swift/Connection/SMTP');&lt;br /&gt;Unfortunately, the classes no longer loaded. I did some poking around and it seems that App::import('Vendor', ...) doesn't know not to inflect the file names its given.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-276648178940108370?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/276648178940108370/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/09/cakephp1.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/276648178940108370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/276648178940108370'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/09/cakephp1.html' title='cakephp开发笔记（1）'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-7150801061383721912</id><published>2008-09-11T11:06:00.004+08:00</published><updated>2008-09-11T11:17:19.507+08:00</updated><title type='text'>cakephp生成URL利器：Router::url()</title><content type='html'>cakephp版本为1.2。&lt;br /&gt;&lt;br /&gt;在cakephp中，$html-&gt;link() , $html-&gt;image() 等方法的第二个参数均为url，都调用了Router::url($url = null, $full = false)。&lt;br /&gt;&lt;br /&gt;常见用法：&lt;br /&gt;1.生成url。&lt;br /&gt;假设网站url路径是 http://www.example.com/project-text/。那么下面三者产生的url效果是相同的。&lt;br /&gt;&lt;blockquote&gt;Router::url( array('controller'=&gt;'category' , 'action'=&gt;'list' , $params1, $params2 ) );&lt;br /&gt;Router::url( '/category/list/params1/params2' );&lt;br /&gt;Router::url( 'http://www.example.com/project-text/category/list/params1/params2' );&lt;/blockquote&gt;&lt;br /&gt;url均为 http://www.example.com/project-text/category/list/params1/params2' ，前两者产生的均为相对路径，第三个为全路径，需要生成完全路径只需将url（）中的第二个参数设为true即可。&lt;br /&gt;&lt;br /&gt;2.其他&lt;br /&gt;&lt;blockquote&gt;Router::url( 'javascript:alert("s")' );&lt;br /&gt;&lt;br /&gt;Router::url( 'mailto:bit.kevin@gmail.com' );&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-7150801061383721912?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/7150801061383721912/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/09/cakephprouterurl.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7150801061383721912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7150801061383721912'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/09/cakephprouterurl.html' title='cakephp生成URL利器：Router::url()'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-1944535533852623072</id><published>2008-08-10T17:32:00.000+08:00</published><updated>2008-08-10T17:41:31.477+08:00</updated><title type='text'>JS运动计算公式图解</title><content type='html'>&lt;div&gt;&lt;br /&gt;现在页面里面很流行一些动态效果，比如单击打开某个矩形框，其一般是通过改变div的高度来实现；或者遮罩效果，改变层的透明度。&lt;br /&gt;&lt;br /&gt;在大部分情况下，其改变值是随时间呈线性关系，比较枯燥，通过一些函数，可以改变线性关系，获得良好的用户体验。前些天看到网址兽http://www.webbeast.cn/show-39-1.html文，对文章介绍的几个运动公式感兴趣。&lt;br /&gt;&lt;br /&gt;这里我通过matlab画出部分函数的曲线图。下面是js代码&lt;br /&gt;&lt;br /&gt;Fx.expoIn = function(pos){return Math.pow(2, 10 * (pos - 1))};&lt;br /&gt;Fx.expoOut = function(pos){return (-Math.pow(2, -10 * pos) + 1)};&lt;br /&gt;&lt;br /&gt;Fx.quadIn = function(pos){return Math.pow(pos, 2)};&lt;br /&gt;Fx.quadOut = function(pos){return -(pos)*(pos-2)};&lt;br /&gt;&lt;br /&gt;Fx.circOut = function(pos){return Math.sqrt(1 - Math.pow(pos-1,2))};&lt;br /&gt;Fx.circIn = function(pos){return -(Math.sqrt(1 - Math.pow(pos, 2)) - 1)};&lt;br /&gt;&lt;br /&gt;Fx.backIn = function(pos){return (pos)*pos*((2.7)*pos - 1.7)};&lt;br /&gt;Fx.backOut = function(pos){return ((pos-1)*(pos-1)*((2.7)*(pos-1) + 1.7) + 1)};&lt;br /&gt;&lt;br /&gt;Fx.sineOut = function(pos){return Math.sin(pos * (Math.PI/2))};&lt;br /&gt;Fx.sineIn = function(pos){return -Math.cos(pos * (Math.PI/2)) + 1};&lt;br /&gt;Fx.sineInOut = function(pos){return -(Math.cos(Math.PI*pos) - 1)/2};&lt;br /&gt;&lt;br /&gt;Fx.wobble = function(pos){return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5};&lt;br /&gt;Fx.pulse = function(pos){return (Math.floor(pos*10) % 2 == 0 ? (pos*10-Math.floor(pos*10)) : 1-(pos*10-Math.floor(pos*10)))};&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;backIn&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_jscaNf70Zgc/SJ62Rk5fhEI/AAAAAAAAAC8/PCUcLG_kXL0/s1600-h/backIn.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5232820230129943618" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_jscaNf70Zgc/SJ62Rk5fhEI/AAAAAAAAAC8/PCUcLG_kXL0/s400/backIn.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;circOut&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_jscaNf70Zgc/SJ62Ruq_d4I/AAAAAAAAADE/k3QbljABwX4/s1600-h/circOut.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5232820232753477506" style="CURSOR: hand" alt="" src="http://2.bp.blogspot.com/_jscaNf70Zgc/SJ62Ruq_d4I/AAAAAAAAADE/k3QbljABwX4/s400/circOut.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;expoIn&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_jscaNf70Zgc/SJ62xY6T61I/AAAAAAAAADM/98QbGTEvjq4/s1600-h/expoIn.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5232820776667966290" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_jscaNf70Zgc/SJ62xY6T61I/AAAAAAAAADM/98QbGTEvjq4/s400/expoIn.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;expoOut&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_jscaNf70Zgc/SJ62xkDFiyI/AAAAAAAAADU/odlNTHiV9Rc/s1600-h/expoOut.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5232820779657562914" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_jscaNf70Zgc/SJ62xkDFiyI/AAAAAAAAADU/odlNTHiV9Rc/s400/expoOut.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;quadIn&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_jscaNf70Zgc/SJ62xq4pvwI/AAAAAAAAADc/aWzMDeO-dw8/s1600-h/quadIn.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5232820781492846338" style="CURSOR: hand" alt="" src="http://4.bp.blogspot.com/_jscaNf70Zgc/SJ62xq4pvwI/AAAAAAAAADc/aWzMDeO-dw8/s400/quadIn.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;sineOut&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_jscaNf70Zgc/SJ62xyIhLPI/AAAAAAAAADk/nK-eiQM1380/s1600-h/sineOut.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5232820783438441714" style="CURSOR: hand" alt="" src="http://1.bp.blogspot.com/_jscaNf70Zgc/SJ62xyIhLPI/AAAAAAAAADk/nK-eiQM1380/s400/sineOut.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;wobble&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_jscaNf70Zgc/SJ63iSo2nPI/AAAAAAAAADs/7_K2CtQeli0/s1600-h/wobble.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_jscaNf70Zgc/SJ63iSo2nPI/AAAAAAAAADs/7_K2CtQeli0/s400/wobble.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5232821616797719794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;通过这些很直观的函数图，可以轻易选择使用一些效果函数来实现某些效果。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-1944535533852623072?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/1944535533852623072/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/08/js_10.html#comment-form' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/1944535533852623072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/1944535533852623072'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/08/js_10.html' title='JS运动计算公式图解'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_jscaNf70Zgc/SJ62Rk5fhEI/AAAAAAAAAC8/PCUcLG_kXL0/s72-c/backIn.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5441231030810135823.post-7480206474071180395</id><published>2008-08-10T17:16:00.000+08:00</published><updated>2008-08-10T17:21:47.563+08:00</updated><title type='text'>HTTP中的GET和POST区别分析详解</title><content type='html'>关键词：http协议 GET请求 POST请求 GET和POST区别 url长度限制&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;HTTP中的GET和POST区别分析详解&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;1.数据发送形式&lt;br /&gt;&lt;br /&gt;使用POST请求，数据在请求体（REQUEST HEADER）中传递给服务器。使用GET请求，数据将编码到URL中。&lt;br /&gt;注意：POST请求的URL也可是&lt;a href="http://www.example.com/index.php?a=hello&amp;amp;b=world"&gt;http://www.example.com/index.php?a=hello&amp;amp;b=world&lt;/a&gt;的形式，只是其发送的数据将在请求体中。GET请求会把发送的数据编码后加在URL后，无论此前URL长什么样子。&lt;br /&gt;&lt;br /&gt;2.什么时候使用GET和POST&lt;br /&gt;&lt;br /&gt;GET 适用于多数请求，而POST 仅用于更新站点。根据 HTTP 规范，GET 用于信息获取，而且应该是幂等的。也就是说，当使用相同的URL重复GET请求会返回预期的相同结果时，GET方法才是适用的。当对一个请求有副作用的时候（例如，提交数据注册新用户时），应该使用POST请求而不是GET。[参考2]&lt;br /&gt;&lt;br /&gt;3.URL长度问题&lt;br /&gt;&lt;br /&gt;RFC 2616、 " 超文本传输协议 -- HTTP /1.1, " 未指定任何对 URL 长度要求。&lt;br /&gt;Microsoft Internet Explorer 具有统一资源定位器 (URL) 长度的 2,083 字符。 InternetExplorer 也有路径长度为 2,048 字符。如果使用 GET 方法, 您仅限于最多 2,048 字符, 减去实际路径中的字符数。[参考3]。网上流传256，1k等长度URL限制，可能对于以前古老的浏览器，现在应该纠正了，大概上对于IE是2k。&lt;br /&gt;&lt;br /&gt;URL长度限制适用于 POST 请求和 GET 请求 URL。&lt;br /&gt;&lt;br /&gt;对使用GET方法提交数据时，在IE环境下，需要注意其数据编码加到URL后其长度受到2083字节的限制。对于其他浏览器，如Netscape、FireFox等，理论上没有长度限制，其限制取决于操作系统的支持。POST提交数据大小理论没有限制，HTTP协议规范也没有进行大小限制。“POST数据量存在128K的大小限制”不够准确，POST数据是没有限制的，起限制作用的是服务器的处理程序的处理能力[参考1]。&lt;br /&gt;&lt;br /&gt;4.GET请求的安全性&lt;br /&gt;&lt;br /&gt;对于GET请求，其数据将附加在URL中，在浏览器地址栏中会显示出来。在用户登录时，其用户名和密码等信息将显示在浏览器地址栏中，若登录页面被浏览器缓存或者被浏览器历史记录则其他用户可以通过此机器拿到用户信息。而对于网络传输数据层面来讲，GET和POST安全性是没有太大区别的。&lt;br /&gt;&lt;br /&gt;GET请求发送数据时，其数据是需要进行URL编码的，一些字符会发生改变，在服务端接受时需要做URL解码处理。对于某些WEB服务器，其GET请求会记录在服务器上，如果里面含有隐私数据将有可能被第三方获取[参考5]。&lt;br /&gt;&lt;br /&gt;附件一：&lt;br /&gt;&lt;br /&gt;[参考6]&lt;br /&gt;HTTP协议中GET方法和POST方法是有所不同的，RFC1945中的英文原文如下：&lt;br /&gt;8.1 GET&lt;br /&gt;The GET method means retrieve whatever information (in the form of anentity) is identified by the Request-URI. If the Request-URI refersto a data-producing process, it is the produced data which shall bereturned as the entity in the response and not the source text of theprocess, unless that text happens to be the output of the process.&lt;br /&gt;The semantics of the GET method changes to a "conditional GET" if therequest message includes an If-Modified-Since header field. Aconditional GET method requests that the identified resource betransferred only if it has been modified since the date given by theIf-Modified-Since header, as described in Section 10.9. Theconditional GET method is intended to reduce network usage byallowing cached entities to be refreshed without requiring multiplerequests or transferring unnecessary data.&lt;br /&gt;8.3 POST&lt;br /&gt;The POST method is used to request that the destination server acceptthe entity enclosed in the request as a new subordinate of theresource identified by the Request-URI in the Request-Line. POST isdesigned to allow a uniform method to cover the following functions:&lt;br /&gt;o Annotation of existing resources;&lt;br /&gt;o Posting a message to a bulletin board, newsgroup, mailing list,or similar group of articles;&lt;br /&gt;o Providing a block of data, such as the result of submitting aform [3], to a data-handling process;&lt;br /&gt;o Extending a database through an append operation.&lt;br /&gt;The actual function performed by the POST method is determined by theserver and is usually dependent on the Request-URI. The posted entityis subordinate to that URI in the same way that a file is subordinateto a directory containing it, a news article is subordinate to anewsgroup to which it is posted, or a record is subordinate to adatabase.&lt;br /&gt;A successful POST does not require that the entity be created as aresource on the origin server or made accessible for futurereference. That is, the action performed by the POST method might notresult in a resource that can be identified by a URI. In this case,either 200 (ok) or 204 (no content) is the appropriate responsestatus, depending on whether or not the response includes an entitythat describes the result.&lt;br /&gt;If a resource has been created on the origin server, the responseshould be 201 (created) and contain an entity (preferably of type"text/html") which describes the status of the request and refers tothe new resource.&lt;br /&gt;A valid Content-Length is required on all HTTP/1.0 POST requests. AnHTTP/1.0 server should respond with a 400 (bad request) message if itcannot determine the length of the request message's content.&lt;br /&gt;Applications must not cache responses to a POST request because theapplication has no way of knowing that the server would return anequivalent response on some future request.&lt;br /&gt;&lt;br /&gt;翻译成中文（黄晓东翻译，&lt;a href="mailto:xdhuang@eyou.com"&gt;xdhuang@eyou.com&lt;/a&gt;）就是&lt;br /&gt;&lt;br /&gt;8.1 GET&lt;br /&gt;GET方法就是以实体方式得到由请求URI所指定资源的信息。如果请求URI只是一个数据产生过程，那么最终要在回应实体中返回的是由该处理过程的结果所指向的资源，而不是返回该处理过程的描述文字，除非那段文字恰好是处理的输出。 如果请求消息包含If-Modified-Since标题域，GET方法的语法就变成“条件GET”，即“（conditional GET）”。 条件GET方法可以对指定资源进行判断，如果它在If-Modified-Since标题域（见10.9节）中的指定日期后发生了更新，才启动传输，否则不传输。这种条件GET允许被缓存的实体在不必经过多次请求或不必要的数据传输就能进行刷新，从而有助于降低网络负载。&lt;br /&gt;&lt;br /&gt;8.3 POST&lt;br /&gt;POST方法用来向目的服务器发出请求，要求它接受被附在请求后的实体，并把它当作请求队列（Request-Line）中请求URI所指定资源的附加新子项。POST被设计成用统一的方法实现下列功能：&lt;br /&gt;o 对现有资源的注释（Annotation of existing resources）；&lt;br /&gt;o 向电子公告栏、新闻组，邮件列表或类似讨论组发送消息；&lt;br /&gt;o 提交数据块，如将表格（form [3]）的结果提交给数据处理过程；&lt;br /&gt;o 通过附加操作来扩展数据库。&lt;br /&gt;POST方法的实际功能由服务器来决定，而且通常依赖于请求URI。在POST过程中， 实体是URI的从属部分，就好象文件从属于包含它的目录、新闻组文件从属于发出该文件的新闻组、记录从属于其所在的数据库一样。&lt;br /&gt;&lt;br /&gt;成功的POST不需要在原始服务器创建实体，并将其做为资源；也不需要为未来的访问提供条件。也就是说，POST方法不一定会指向URI指定的资源。在这种情况下，200（成功）或204（无内容）都是适当的回应状态，取决于实际回应实体中对结果的描述。&lt;br /&gt;&lt;br /&gt;如果在原始服务器上创建了资源，回应应是201（已创建），并包含一个实体 （对"text/html"类型最为适合），该实体中记录着对新资源请求的状态描述。&lt;br /&gt;&lt;br /&gt;在所有的HTTP/1.0的POST请求中，必须指定合法的内容长度（Content-Length）。如果HTTP/1.0服务器在接收到请求消息内容时无法确定其长度，就会返回400（非法请求）代码。&lt;br /&gt;应用程序不能缓存对POST请求的回应，因为做为应用程序来说，它们没有办法知道服务器在未来的请求中将如何回应。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;附件二：&lt;br /&gt;WWW FAQs: What is the maximum length of a URL?&lt;br /&gt;[参考4]&lt;br /&gt;&lt;br /&gt;2006-10-13: Although the specification of the HTTP protocol does not specify any maximum length, practical limits are imposed by web browser and server software.&lt;br /&gt;&lt;br /&gt;Microsoft Internet Explorer (Browser)&lt;br /&gt;Microsoft states that the maximum length of a URL in Internet Explorer is 2,083 characters, with no more than 2,048 characters in the path portion of the URL. In my tests, attempts to use URLs longer than this produced a clear error message in Internet Explorer.&lt;br /&gt;&lt;br /&gt; Firefox (Browser)&lt;br /&gt;After 65,536 characters, the location bar no longer displays the URL in Windows Firefox 1.5.x. However, longer URLs will work. I stopped testing after 100,000 characters.&lt;br /&gt;&lt;br /&gt;Safari (Browser)&lt;br /&gt;At least 80,000 characters will work. I stopped testing after 80,000 characters.&lt;br /&gt;&lt;br /&gt;Opera (Browser)&lt;br /&gt;At least 190,000 characters will work. I stopped testing after 190,000 characters. Opera 9 for Windows continued to display a fully editable, copyable and pasteable URL in the location bar even at 190,000 characters.&lt;br /&gt;&lt;br /&gt;Apache (Server)&lt;br /&gt;My early attempts to measure the maximum URL length in web browsers bumped into a server URL length limit of approximately 4,000 characters, after which Apache produces a "413 Entity Too Large" error. I used the current up to date Apache build found in Red Hat Enterprise Linux 4. The official Apache documentation only mentions an 8,192-byte limit on an individual field in a request. Microsoft Internet Information ServerThe default limit is 16,384 characters (yes, Microsoft's web server accepts longer URLs than Microsoft's web browser). This is configurable.&lt;br /&gt;&lt;br /&gt;Perl HTTP::Daemon (Server)&lt;br /&gt;Up to 8,000 bytes will work. Those constructing web application servers with Perl's HTTP::Daemon module will encounter a 16,384 byte limit on the combined size of all HTTP request headers. This does not include POST-method form data, file uploads, etc., but it does include the URL. In practice this resulted in a 413 error when a URL was significantly longer than 8,000 characters. This limitation can be easily removed. Look for all occurrences of 16x1024 in Daemon.pm and replace them with a larger value. Of course, this does increase your exposure to denial of service attacks.&lt;br /&gt;&lt;br /&gt;Recommendations&lt;br /&gt;Extremely long URLs are usually a mistake. URLs over 2,000 characters will not work in the most popular web browser. Don't use them if you intend your site to work for the majority of Internet users. When you wish to submit a form containing many fields, which would otherwise produce a very long URL, the standard solution is to use the POST method rather than the GET method:&lt;br /&gt;&lt;br /&gt;&lt;form action="myscript.php" method="POST"&gt;...&lt;/form&gt;&lt;br /&gt;&lt;br /&gt;The form fields are then transmitted as part of the HTTP transaction header, not as part of the URL, and are not subject to the URL length limit. Short-lived information should not be stored in URLs. As a rule of thumb, if a piece of information isn't needed to regenerate the same page as a result of returning to a favorite or bookmark, then it doesn't belong in the URL.&lt;br /&gt;&lt;br /&gt;The Bookmark ProblemIn very rare cases, it may be useful to keep a large amount of "state" information in a URL. For instance, users of a map-navigating website might wish to add the currently displayed map to their "bookmarks" or "favorites" list and return later. If you must do this and your URLs are approaching 2,000 characters in length, keep your representation of the information as compact as you can, squeezing out as much "air" as possible. If your field names take up too much space, use a fixed field order instead. Squeeze out any field that doesn't really need to be bookmarked. And avoid large decimal numbers - use only as much accuracy as you must, and consider a base-64 representation using letters and digits (I didn't say this was easy). In extreme cases, consider using the gzip algorithm to compress your pretty but excessively long URL. Then reencode that binary data in base64 using only characters that are legal in URLs. This can yield a 3-4x space gain, at the cost of some CPU time when you unzip the URL again on the next visit. Again, I never said it was easy!&lt;br /&gt;&lt;br /&gt;An alternative is to store the state information in a file or a database. Then you can store only the identifier needed to look up that information again in the URL. The disadvantage here is that you will have many state files or database records. Some of which might be linked to on websites run by others. One solution to this problem is to delete the state files or database records for the URLs that have not been revisited after a certain amount of time.&lt;br /&gt;&lt;br /&gt;"What happens if the URL is too long for the server?" What exactly happens if a browser that supports very long URLs (such as Firefox) submits a long URL to a web server that does not support very long URLs (such as a standard build of Apache)?&lt;br /&gt;&lt;br /&gt;The answer: nothing dramatic. Apache responds with a "413 Entity Too Large" error, and the request fails.&lt;br /&gt;&lt;br /&gt;This response is preferable to cutting the URL short, because the results of cutting the URL short are unpredictable. What would that mean to the web application? It varies. So it's better for the request to fail.&lt;br /&gt;&lt;br /&gt;In the bad old days, some web servers and web browsers failed to truncate or ignore long URLs, resulting in dangerous "buffer overflow" situations. These could be used to insert executable code where it didn't belong... resulting in a security hole that could be exploited to do bad things.&lt;br /&gt;These days, the major browsers and servers are secure against such obvious attacks - although more subtle security flaws are often discovered (and, usually, promptly fixed).&lt;br /&gt;&lt;br /&gt;While it's true that modern servers are themselves well-secured against long URLs, there are still badly written CGI programs out there. Those who write CGI programs in C and other low-level languages must take responsibility for paying close attention to potential buffer overflows. The CGIC library can help with this.&lt;br /&gt;&lt;br /&gt;In any case, if you're a web developer and you're still asking this question, then you probably haven't paid attention to my advice about how to avoid the problem completely.&lt;br /&gt;&lt;br /&gt;参考文献：&lt;br /&gt;[1] 表单Post&amp;amp;Get两个长度限制问题的分析[N] &lt;a href="http://phoubes.bokee.com/5488853.html"&gt;http://phoubes.bokee.com/5488853.html&lt;/a&gt;&lt;br /&gt;[2] David Flanagan. Javascript权威指南【第五版】[M].北京：机械工业出版社，2007.8&lt;br /&gt;[3] Maximum URL length is 2,083 characters in Internet Explorer[N] &lt;a href="http://support.microsoft.com/kb/q208427/"&gt;http://support.microsoft.com/kb/q208427/&lt;/a&gt;&lt;br /&gt;[4] WWW FAQs: What is the maximum length of a URL? [N] &lt;a href="http://www.boutell.com/newfaq/misc/urllength.html"&gt;http://www.boutell.com/newfaq/misc/urllength.html&lt;/a&gt;&lt;br /&gt;[5] HTTP/1.1: Method Definitions[N] &lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3"&gt;http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.3&lt;/a&gt;&lt;br /&gt;[6] HTTP协议中的GET和POST[N] &lt;a href="http://www.cnblogs.com/westsourcer/archive/2008/06/12/702521.html"&gt;http://www.cnblogs.com/westsourcer/archive/2008/06/12/702521.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5441231030810135823-7480206474071180395?l=bloomandkevin.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bloomandkevin.blogspot.com/feeds/7480206474071180395/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://bloomandkevin.blogspot.com/2008/08/httpgetpost.html#comment-form' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7480206474071180395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5441231030810135823/posts/default/7480206474071180395'/><link rel='alternate' type='text/html' href='http://bloomandkevin.blogspot.com/2008/08/httpgetpost.html' title='HTTP中的GET和POST区别分析详解'/><author><name>阿彪</name><uri>http://www.blogger.com/profile/15023781023014295453</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='31' src='http://3.bp.blogspot.com/_jscaNf70Zgc/SJ6eQTe1PpI/AAAAAAAAAAU/JLG5YpW2nFY/s1600-R/IMG_0142%25E5%2589%25AF%25E6%259C%25AC.jpg'/></author><thr:total>0</thr:total></entry></feed>
