<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title>时光博客</title>
		<link>http://liupeng.us/</link>
		<description>WEB开发中的可用性和用户体验</description>
		<copyright>Copyright (C) 2004 Security Angel Team [S4T] All Rights Reserved.</copyright>
		<generator>SaBlog-X Version Plus 2.0 Build 20081204</generator>
		<lastBuildDate>Wed, 10 Mar 2010 12:57:18 +0000</lastBuildDate>
		<ttl>30</ttl>
		<item>
			<guid>http://liupeng.us/iphone-wwere/</guid>
			<title>iPhone新软推荐:玩“在哪”，“在哪”玩</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>最近基于地理信息、即时信息、本地化SNS的手机应用大热，国外的如foursquare等。最近发现一款国内开发的应用<a href="http://wwere.L99.com">&ldquo;在哪&rdquo;</a>，玩了一下，有点心得，不敢独享，拿来分享。</p>
<p><div class="attach"><a href="http://liupeng.us/attachment.php?id=266" target="_blank"><img src="http://liupeng.us/attachments//date_201003/818db9256f6e6bc949301b5625264133.png" border="0" alt="&#13;&#13;大小: 304.4 K&#13;尺寸: 320 x 480&#13;浏览: 14 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=268" target="_blank"><img src="http://liupeng.us/attachments//date_201003/e970dd61cad5dc66dc13d5d38571517f.png" border="0" alt="&#13;&#13;大小: 253.13 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div></p>
<p>&ldquo;在哪&rdquo;是什么？<br />
&ldquo;在哪&rdquo;是基于地理位置信息，根据用户位置构成的本地化的SNS网络。使用&rdquo;在哪&rdquo;后，用户可以随时查看好友&ldquo;在哪&rdquo;，还可以给自己或好友去过的地点添加评价，并且可以将好友的评价加入到自己的计划中。不仅如此，&ldquo;在哪&rdquo;还加入了部分游戏成分，用户可以通过&ldquo;踩点&rdquo;（到达地点）来获取虚拟币的奖励，并且根据&ldquo;踩点&rdquo;的条件不同还可以解锁勋章。<br />
贴士：如果你在一个地点&ldquo;踩点&rdquo;是最多的话，就能够当选为该点的&ldquo;村长&rdquo;。</p>
<p><br />
&ldquo;踩点&rdquo;：告诉好友我&ldquo;在哪&rdquo;？<br />
通过GPS查找到你附近的地点（如餐馆、酒店等），选择地点便可以&ldquo;踩点&rdquo;了，同时你的好友就会收到push，知道你&ldquo;在哪&rdquo;了。还有，&ldquo;踩点&rdquo;的同时可以&ldquo;放话&rdquo;，添加照片 ，更加直观的方便好友看到。&ldquo;踩点&rdquo;的同时会有虚拟币（立方币）的奖励，条件触发的话还有勋章奖励，PS：勋章的设计个人感觉还是蛮酷的，只是我玩到现在也之解锁了10个勋章，看下攻略，怎么拿到其他勋章；）。<br />
&nbsp; <div class="attach"><a href="http://liupeng.us/attachment.php?id=277" target="_blank"><img src="http://liupeng.us/attachments//date_201003/6292c5fa4cfa2059338ad579cf97d0f3.png" border="0" alt="&#13;&#13;大小: 224.65 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=278" target="_blank"><img src="http://liupeng.us/attachments//date_201003/a57703b448ea21ab65d86d661226a85a.png" border="0" alt="&#13;&#13;大小: 174.03 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=279" target="_blank"><img src="http://liupeng.us/attachments//date_201003/5318934f060e810323492a845a82b4fc.png" border="0" alt="&#13;&#13;大小: 128.89 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=281" target="_blank"><img src="http://liupeng.us/attachments//date_201003/79be749e2bb7a69524279f2dc76a0883.png" border="0" alt="&#13;&#13;大小: 190.73 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div></p>
<p><br />
&ldquo;评价&rdquo;：好友的推荐，实地化的推荐<br />
&ldquo;在哪&rdquo;还可以对&ldquo;踩点&rdquo;过的地点进行&ldquo;评价&rdquo;，这样用户查看该地点是就会看到你对这的&ldquo;评价&rdquo;，当然好友对这的评价相信对你也会有很大帮助，还能通过上传图片来评价。例如你到了&ldquo;哈根达斯（望京店）&rdquo;想试试&ldquo;冰淇淋火锅&rdquo;，可以看到一好友发的评价&ldquo;冰淇淋火锅很是难吃&rdquo;，可能你就会考虑换个地方了。<br />
&ldquo;在哪&rdquo;还支持&ldquo;附近的评价&rdquo;，可以查找出用户附件的评价，并且计算出距离，用户可以很直观的知道哪家店好，哪家店差了，又或是知道什么东西好吃，什么东西难吃，并且附以照片佐证。<br />
<div class="attach"><a href="http://liupeng.us/attachment.php?id=282" target="_blank"><img src="http://liupeng.us/attachments//date_201003/eaef5623c985d8e49f05d437c453d3fa.png" border="0" alt="&#13;&#13;大小: 160.56 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=270" target="_blank"><img src="http://liupeng.us/attachments//date_201003/ee9c1725797c7d644838889d588e3265.png" border="0" alt="&#13;&#13;大小: 251.78 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><br />
<br />
&ldquo;勋章&rdquo;：总得来点竞争吧？<br />
&ldquo;在哪&rdquo;里面的勋章很有特色，都是小玩偶的造型，有很酷的、有很可爱的，用户可以不停的&ldquo;踩点&rdquo;来赚取虚拟币（立方币），在不同条件下&ldquo;踩点&rdquo;会解锁不同的勋章。比如&ldquo;熊猫眼&rdquo;就得在凌晨4点到6点&ldquo;踩点&rdquo;才能够获得到。想得到所有勋章还是有些难度的。<br />
<div class="attach"><a href="http://liupeng.us/attachment.php?id=272" target="_blank"><img src="http://liupeng.us/attachments//date_201003/f4f69dd594e499480ccd7c2ef2b1fa5e.png" border="0" alt="&#13;&#13;大小: 266.22 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=273" target="_blank"><img src="http://liupeng.us/attachments//date_201003/2e98ac29c6416713d0fc74f9484800a0.png" border="0" alt="&#13;&#13;大小: 125.94 K&#13;尺寸: 320 x 480&#13;浏览: 2 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=274" target="_blank"><img src="http://liupeng.us/attachments//date_201003/033c84660774eb2cbf01e87e94a63fc8.png" border="0" alt="&#13;&#13;大小: 253.47 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=275" target="_blank"><img src="http://liupeng.us/attachments//date_201003/0b1f42d2bb857e89d372091b6a35d088.png" border="0" alt="&#13;&#13;大小: 259.15 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><br />
<br />
&ldquo;在哪&rdquo;下载？<br />
说了这么多，总归有知道&ldquo;在哪&rdquo;下载吧？<br />
下载地址：<a href="http://itunes.apple.com/us/app/wwere/id358936566?mt=8">http://itunes.apple.com/us/app/wwere/id358936566?mt=8</a><br />
或者直接到iTunes里面搜索: Wwere 或者 在哪<br />
应用主页: <a href="http://wwere.L99.com">http://wwere.L99.com</a></p>
<p>应用其他截图：</p>
<p><div class="attach"><a href="http://liupeng.us/attachment.php?id=276" target="_blank"><img src="http://liupeng.us/attachments//date_201003/c547af45a142e0ecf832cb31f6f5e396.png" border="0" alt="&#13;&#13;大小: 252.9 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=280" target="_blank"><img src="http://liupeng.us/attachments//date_201003/8148511064bcda6efabe5b721d8ab9ed.png" border="0" alt="&#13;&#13;大小: 157.18 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=269" target="_blank"><img src="http://liupeng.us/attachments//date_201003/1fc221ce9d66e22fa55b37196a1a6177.png" border="0" alt="&#13;&#13;大小: 169.89 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a></div></p><br /><br /><b>图片附件:</b><br /><a href="http://liupeng.us/attachment.php?id=267" target="_blank"><img src="http://liupeng.us/attachments//date_201003/a8da87501cb3e9421d0f9859a99d044a.png" border="0" alt="大小: 193.45 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a><br /><br /><b>图片附件:</b><br /><a href="http://liupeng.us/attachment.php?id=271" target="_blank"><img src="http://liupeng.us/attachments//date_201003/f46dd2a26b22a9b95389dc24815b0fd3.png" border="0" alt="大小: 253.78 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a><br /><br /><b>图片附件:</b><br /><a href="http://liupeng.us/attachment.php?id=283" target="_blank"><img src="http://liupeng.us/attachments//date_201003/0df116199782c12d58e6f82246e9789c.png" border="0" alt="大小: 149.3 K&#13;尺寸: 320 x 480&#13;浏览: 1 次&#13;点击打开新窗口浏览全图" width="320" height="480" /></a>]]></description>
			<link>http://liupeng.us/iphone-wwere/</link>
			<category domain="http://liupeng.us/category/source-share/">Tools/share</category>
			<pubDate>2010-03-09 11:58</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/firefox-plugin-save-webpage-as-pic/</guid>
			<title>火狐插件网页另存为图片</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>上网的是时候经常会碰到这样的情况，就是看到一个自己觉得比较漂亮和欣赏的网页，就想先存下来，研究下她的配色和框架结构，以前用的<a target="_blank" href="http://www.ioage.com/cn/index.htm">TheWorld</a>，有相关功能直接保存为图片。但是为了观赏到<a target="_blank" href="http://baike.baidu.com/view/951383.htm">HTML5</a>技术和<a target="_blank" href="http://baike.baidu.com/view/1713027.htm">CSS3</a>技术，响应下无毒安全浏览器，现在还是用<a target="_blank" href="http://www.mozillaonline.com/">Firefox</a>比较多。今天突然发现了这款软件，真的不错。<a target="_blank" href="http://pearlcrescent.com/products/pagesaver/"><strong>Pearl Crescent Page Saver</strong></a> ，试了下效果，确实不错，可以将页面和区域保存为图片，保存的图片为PNG或者JPG格式，图片名称为网页的title。来看看官方的说明：</p>
<div class="codebox">Pearl Crescent Page Saver is an extension for Mozilla Firefox that lets you capture images of web pages, including Flash content.  These images can be saved in PNG or JPEG format.  Using Page Saver, you can capture an entire page or just the visible portion.  You can control the image capture process via a wide variety of settings, including the image file name and scale (e.g., save at 50% of original size).</div>
<p>免费版本下载地址：<a target="_blank" href="http://pearlcrescent.com/products/pagesaver/pagesaverbasic-2.5.xpi">http://pearlcrescent.com/products/pagesaver/pagesaverbasic-2.5.xpi</a></p>
<p>时光博客下载地址：<a href="http://liupeng.us/attachment.php?id=265" title="pagesaverbasic-2.5.xpi&#13;&#13;大小:126.51 K, 下载次数:7" target="_blank">pagesaverbasic-2.5.xpi</a></p>
<p>HOHO，又解决了一个难题了！</p>]]></description>
			<link>http://liupeng.us/firefox-plugin-save-webpage-as-pic/</link>
			<category domain="http://liupeng.us/category/front-end-design/">HTML/CSS/JS</category>
			<pubDate>2010-03-02 12:47</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/happy-new-year-2010/</guid>
			<title>新年快乐</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>好久没有写日志了ORZ...最近人变懒了许多了。也不爱动，周末也不爱出去，就宅在家里面。以前宅在家喜欢玩游戏，最近迷上了看电影，最近都在看美国的科幻片、恐怖片，突然发现一个人拿着笔记本看电影的情调不亚于去电影院的情调。新年到了，今年刚好本命年，24岁鸟，不小了，是要好好规划下人生的道路了。嘿嘿，关于什么规划这里就暂时不讲了，看过《越狱》的人都知道，计划赶不上变化。大体方向把握好就OK！</p>
<p>工作上呢，还是踏踏实实的工作，端正下工作态度，准时上班（不堵车的情况下），然后呢，按时保质的完成上面分配的任务。</p>
<p>生活上，要好好关心自己，突然觉得自己的身体都不如以前好了，可能是缺乏锻炼了，以后尽量少熬夜，多锻炼下身体，等搬到了新的住房，锻炼就多了，公寓下面有好多锻炼身体的设施。</p>
<p>感情上，希望一切都平稳发展吧^ ^。</p>
<p>新的一年，希望博友们身体健康，工作顺利。要好好爱自己。</p>]]></description>
			<link>http://liupeng.us/happy-new-year-2010/</link>
			<category domain="http://liupeng.us/category/daily-life/">Life/Story</category>
			<pubDate>2010-02-24 00:08</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/how-to-fix-js-innerhtml-double-quotes/</guid>
			<title>JS innerHTML Double Quotes</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>通过js的innerHTML来获取一个dom节点，内部的html值时，如果属性值没有空格，则IE左右版本下，都会出现标签大些，双引号丢失问题。如果属性值有空格，则标签会变成大写，引号则正常输出.看下面示例：</p>
<p><iframe scrolling="no" height="750" frameborder="auto" width="100%" src="http://liupeng.us/demo/ie-innerHTML.html" name="ieinnerHTML_frame"></iframe></p>
<p>当属性值无空格时：<br />
FF3.5.7（gecko/20091221）&lt;div id=&quot;div2&quot;&gt;&lt;/div&gt;<br />
<br />
IE6 弹出:&lt;DIV id=div2&gt;&lt;/DIV&gt;<br />
IE7 弹出:&lt;DIV id=div2&gt;&lt;/DIV&gt;<br />
IE8 弹出:&lt;DIV id=div2&gt;&lt;/DIV&gt;<br />
<br />
有空格时：<br />
FF3.5.7（gecko/20091221）&lt;div id=&quot;div2 &quot;&gt;&lt;/div&gt;<br />
<br />
IE6 弹出:&lt;DIV id=&quot;div2 &quot;&gt;&lt;/DIV&gt;<br />
IE7 弹出:&lt;DIV id=&quot;div2 &quot;&gt;&lt;/DIV&gt;<br />
IE8 弹出:&lt;DIV id=&quot;div2 &quot;&gt;&lt;/DIV&gt;<br />
<br />
产生这个BUG的原因是什么呢？</p>
<div class="codebox">When you get the innerHTML of a DOM node in IE, if there are no spaces in an attribute value, IE will remove the quotes around it.IE's innerHTML doesn't remove quotes from non standard attributes.</div>
<p>即使是jQuery里面，jquery团队的技术人员也没有解决这个问题.</p>
<p>提供下解决方案：</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">function</span><span>&nbsp;ieInnerHTML(obj)&nbsp;{&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;zz&nbsp;=&nbsp;obj.innerHTML,&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z&nbsp;=&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zz.match(/&lt;\/?\w+((\s+\w+(\s*=\s*(?:<span class="string">&quot;.*?&quot;</span><span>|</span><span class="string">'.*?'</span><span>|[^'&quot;&gt;\s]+))?)+\s*|\s*)\/?&gt;/g);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(z){&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;i=0;i&lt;z.length;i++){&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">var</span><span>&nbsp;y,&nbsp;zSaved&nbsp;=&nbsp;z[i];&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z[i]&nbsp;=&nbsp;z[i].replace(/(&lt;?\w+)|(&lt;\/?\w+)\s/,&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">function</span><span>(a){</span><span class="keyword">return</span><span>&nbsp;a.toLowerCase();});&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;y&nbsp;=&nbsp;z[i].match(/\=\w+[?\s+|?&gt;]/g);&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(y){&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="keyword">var</span><span>&nbsp;j=0;j&lt;y.length;j++){&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;z[i]&nbsp;=&nbsp;z[i].replace(y[j],y[j]&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.replace(/\=(\w+)([?\s+|?&gt;])/g,<span class="string">'=&quot;$1&quot;$2'</span><span>));&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;zz&nbsp;=&nbsp;zz.replace(zSaved,z[i]);&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;zz;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li></ol></pre>
<p>在相应的地方调用函数<strong>ieInnerHTML</strong></p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">if</span><span>(</span><span class="comment">/*@cc_on!@*/</span><span>0){&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;inner_str&nbsp;=&nbsp;ieInnerHTML(obj);&nbsp;</span></li><li class="alt"><span>}<span class="keyword">else</span><span>{&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;inner_str&nbsp;=&nbsp;obj.innerHTML;&nbsp;</span></li><li class="alt"><span>}&nbsp;</span></li></ol></pre>
<p><strong>&nbsp;原理：对IE版本进行对应的JS处理，而且相应的元素标签中不要出现非标准元素</strong></p>
<p>参考资料：</p>
<ol>
    <li><a href="http://stackoverflow.com/questions/1231770/innerhtml-removes-attribute-quotes-in-internet-explorer" target="_blank">innerHTML removes attribute quotes in Internet Explorer</a></li>
    <li><a href="http://bbs.blueidea.com/thread-2167504-1-510.html" target="_blank">innerHTML中的双引号哪去了？</a></li>
</ol>
<p>&nbsp;</p>]]></description>
			<link>http://liupeng.us/how-to-fix-js-innerhtml-double-quotes/</link>
			<category domain="http://liupeng.us/category/front-end-design/">HTML/CSS/JS</category>
			<pubDate>2010-01-22 00:53</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/notebook-share-wifi-hoc/</guid>
			<title>笔记本无线网卡共享上网</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>本文来自<a href="http://www.samool.com/?action=show&amp;id=24661" target="_blank">傻猫网络日志</a> </p>
<p>无线网卡对联，也就是所谓的 HOC 方式。我的笔记本无线网卡是Intel(R) PRO/Wireless 3945ABG,操作系统是Windows XP sp2，VISTA的或者WINDOWS 7在后面有写到。（<span style="color: rgb(255, 0, 0);">不是所有的无线网卡都支持，不过大部分都支持。</span>），今天晚上成功将M8用WIFI与笔记本电脑连接成功，M8可以通过笔记本共享上网，也可以用飞鸽传送文件，非常方面，推荐中。（此方法由魅族论坛网友samogogo提供）<br />
---------------------------------------------------<br />
<strong>XP：</strong><br />
1、&ldquo;网上邻居&rdquo;右键&ldquo;属性&rdquo;，&ldquo;<strong>无线网络连接</strong>&rdquo;右键&ldquo;<strong>属性</strong>&rdquo;，选择&ldquo;常规&rdquo;旁边的&ldquo;<strong>无线网络配置选项卡</strong>&rdquo;，点右下角的&ldquo;高级&rdquo;，将&ldquo;<strong>仅计算机到计算机</strong>&rdquo;选上，还有将&ldquo;<strong>自动连接到非首选网络</strong>&rdquo;前面打勾。完成后点&ldquo;<strong>关闭</strong>&rdquo;</p>
<p>2、回到&rdquo;无线网络配置&ldquo;，点中首选网络下面的添加按钮，自行输入网络名，本例中为&ldquo;Test&rdquo;，将&ldquo;自动为我提供密钥&rdquo;的对号去掉，将数据加密选项改成&ldquo;已禁用&rdquo;，确定返回。</p>
<p>3.共享本地连接：&ldquo;本地连接&rdquo;右键&ldquo;属性&rdquo;，选择&ldquo;高级&rdquo;选项卡，将&ldquo;<strong>Internet连接共享</strong>&rdquo; 下面的两个&ldquo;允许&rdquo;前面打勾，网卡将自动配置无线网卡IP为192.168.0.1，子网掩码为255.255.255.0。双击你的无线网络，会发现多了一个&ldquo;Test&rdquo;的无线网络出来，点击连接，然后打开你的M8搜索网络，如果能搜索到samogogo的无线网络，则恭喜你，配置无线网络成功。（如果你是宽带拨号，只需要在你的宽带拨号的属性里&ldquo;高级&rdquo;选项卡共享下网络也一样。）<br />
------------------------------------------------------------<br />
<span style="color: rgb(0, 0, 255);"><strong>VISTA和WINDOWS 7的用户：</strong></span><br />
1.点击左下角的球球，&ldquo;网络&rdquo;上右键&ldquo;属性&rdquo;，进入&ldquo;网络和共享中心&rdquo;，VISTA点右边的&ldquo;查看状态&rdquo;按钮，WINDOWS 7点左边的&ldquo;无线网络管理&rdquo;按钮。<br />
2.进入&ldquo;无线网络管理&rdquo;窗口，点左边的&ldquo;添加&rdquo;，OK，按向导的方法来配置吧。<br />
&ldquo;创建临时网络&rdquo;--&ldquo;下一步&rdquo;--填写上你要的无线网络名，选择无身份验证，开放式，保存这个网络，下一步-------&ldquo;关闭&rdquo;，OK了。<br />
3.第三步是共享本地连接网络，和XP类似。</p>]]></description>
			<link>http://liupeng.us/notebook-share-wifi-hoc/</link>
			<category domain="http://liupeng.us/category/source-share/">Tools/share</category>
			<pubDate>2009-12-17 19:32</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/ImageSwitch-for-jquery/</guid>
			<title>ImageSwitch For jQuery</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>最近在寻找图片切换效果，在网上找到了个不错的jQuery版的图片切换效果，支持多种样式，纯JS实现，视觉上绝对不逊色于FLASH。废话不多说看下效果图</p>
<p><iframe scrolling="no" height="430" frameborder="auto" width="100%" src="http://liupeng.us/demo/jQuery/ImageSwitch/" name="import_frame"></iframe></p>
<p>兼容性：完美兼容Firefox 3.5.5 for win ,IE6,IE7,IE8，其他浏览器未测试</p>
<p>独立预览地址：<a href="http://liupeng.us/demo/jQuery/ImageSwitch/" target="_blank">http://liupeng.us/demo/jQuery/ImageSwitch/</a></p>
<p>示例代码：<a target="_blank" href="http://liupeng.us/demo/jQuery/ImageSwitch/ImageSwitch_jQuery.rar">ImageSwitch_jQuery.rar</a></p>]]></description>
			<link>http://liupeng.us/ImageSwitch-for-jquery/</link>
			<category domain="http://liupeng.us/category/front-end-design/">HTML/CSS/JS</category>
			<pubDate>2009-12-11 01:01</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/jquery-object-and-dom/</guid>
			<title>jQuery Object and Dom</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>项目碰到一个问题，问题大概是这样的：</p>
<pre><ol class="dp-xml"><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">table</span><span>&nbsp;</span><span class="attribute">width</span><span>=</span><span class="attribute-value">&quot;100%&quot;</span><span>&nbsp;</span><span class="attribute">border</span><span>=</span><span class="attribute-value">&quot;0&quot;</span><span>&nbsp;</span><span class="attribute">cellspacing</span><span>=</span><span class="attribute-value">&quot;0&quot;</span><span>&nbsp;</span><span class="attribute">cellpadding</span><span>=</span><span class="attribute-value">&quot;0&quot;</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">tr</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;line1&quot;</span><span>&nbsp;</span><span class="attribute">filetype</span><span>=</span><span class="attribute-value">&quot;a&quot;</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">td</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">tr</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">tr</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;line2&quot;</span><span>&nbsp;</span><span class="attribute">filetype</span><span>=</span><span class="attribute-value">&quot;b&quot;</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;</span><span class="tag-name">td</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">tr</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;<span class="tag">&lt;/</span><span class="tag-name">table</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li></ol></pre>
<p>需要对上面table的每个tr（N行）绑定事件，对filetype=&quot;a&quot;和filetype=&quot;b&quot;的绑定不同的的右键菜单。右键菜单是通过<a href="http://jquery.com/" target="_blank">jQuery</a>插件<a href="http://www.oschina.net/p/jquery+context+menu" target="_blank">contextmenu</a>实现的。</p>
<p>想绑定事件，自己只能想到2种方案：</p>
<ul>
    <li>第一：使用jQuery的选择符分别筛选出filetype为a和b的。</li>
    <li>第二：使用普通的DOM对象，通过getAttribute实现。</li>
</ul>
<p>第一种方法尝试了，发现jQuery不支持自定义选择符，也就是类似 $(&quot;input[name='newsletter']&quot;)的标签。可能也有，但是由于项目紧没有去尝试。</p>
<p>第二中方法，使用普通的DOM对象来获取不同的filetype，然后给tr做绑定，但是问题来了，jQuery的插件只支持jQuery对象。上网搜索了下发现原来DOM对象转换成jQuery对象非常简单，只要在DOM对象外面加入符号&quot;$&quot;就可以了。比如</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="comment">//普通的DOM对象</span><span>&nbsp;</span></span></li><li><span><span class="keyword">var</span><span>&nbsp;otrs&nbsp;=&nbsp;document.getElementById(</span><span class="string">&quot;filelist&quot;</span><span>).getElementsByTagName(</span><span class="string">&quot;tr&quot;</span><span>);&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="comment">//jQuery对象</span><span>&nbsp;</span></span></li><li class="alt"><span>jotrs&nbsp;=&nbsp;$(otrs);&nbsp;</span></li></ol></pre>
<p>经常会碰到jQuery与原生的JS混写的时候，也不知道这样的效率如何，转换成jQuery对象的时候，会带来多大的性能损耗。</p>
<p>另外jQuery对象转换成DOM对象稍微要复杂一点，由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项，一般可通过索引取出。</p>
<pre><ol class="dp-c"><li class="alt"><span><span>$(</span><span class="string">&quot;#msg&quot;</span><span>)[0]，$(</span><span class="string">&quot;div&quot;</span><span>).eq(1)[0]，$(</span><span class="string">&quot;div&quot;</span><span>).get()[1]，$(</span><span class="string">&quot;td&quot;</span><span>)[5]&nbsp;</span></span></li></ol></pre>
<p>这些都是dom对象，可以使用dom中的方法，但不能再使用Jquery的方法。<br />
以下几种写法都是正确的：</p>
<pre><ol class="dp-c"><li class="alt"><span><span>$(</span><span class="string">&quot;#msg&quot;</span><span>).html();&nbsp;</span></span></li><li><span>$(<span class="string">&quot;#msg&quot;</span><span>)[0].innerHTML;&nbsp;</span></span></li><li class="alt"><span>$(<span class="string">&quot;#msg&quot;</span><span>).eq(0)[0].innerHTML;&nbsp;</span></span></li><li><span>$(<span class="string">&quot;#msg&quot;</span><span>).get(0).innerHTML;&nbsp;</span></span></li></ol></pre>]]></description>
			<link>http://liupeng.us/jquery-object-and-dom/</link>
			<category domain="http://liupeng.us/category/front-end-design/">HTML/CSS/JS</category>
			<pubDate>2009-11-30 13:53</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/fetion-new-api-sablog-comment-sms-notice/</guid>
			<title>博客留言短信提醒更新</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>这几天突然发现手机不吵了，看博客留言也没有增加，如是点进文章里面看看，发现了留言，而右侧的Sidebar居然不显示，估计是数据库有值，而没有更新缓存。</p>
<p>最初发现短信留言出错是在<a target="_blank" href="http://www.samool.com/">Samool</a>的博客上看到的，因为他使用的代码和我相同，但是解析出SSIC错误，估计是飞信更改了最新的协议了。<a href="http://liupeng.us/fetion-api-exp/" target="_blank">以前的代码</a>不管用了，回头好好研究下飞信的协议。不过为了解眼前之急，还是在网上找到了解决方案。这次代码更简单了，不需要引入任何PHP文件，有热心的童鞋给我们提供了服务中转信息，不过我们的手机号和密码有没有记录在他的数据中，就无从知晓了。安全性还是不能保证。下次还是自己写一个吧。</p>
<p>Sablog-X 2.0 具体方法：</p>
<p>上传<a href="http://liupeng.us/attachment.php?id=261" title="class_curl.rar&#13;&#13;大小:933 bytes, 下载次数:187" target="_blank">class_curl.rar</a>到根目录，然后打开根目录下<strong>post.php</strong> 找到</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="vars">$cmid</span><span>&nbsp;=&nbsp;</span><span class="vars">$DB</span><span>-&gt;insert_id();&nbsp;</span></span></li></ol></pre>
<p>在下面添加</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="comment">//add&nbsp;msg&nbsp;notice</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(</span><span class="vars">$username</span><span>!=</span><span class="string">'后台登陆名'</span><span>)&nbsp;{&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">require_once</span><span>(</span><span class="string">'class_curl.php'</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$data</span><span>[</span><span class="string">&quot;username&quot;</span><span>]&nbsp;=&nbsp;你的手机号;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$data</span><span>[</span><span class="string">&quot;password&quot;</span><span>]&nbsp;=&nbsp;</span><span class="string">&quot;手机密码&quot;</span><span>;&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$data</span><span>[</span><span class="string">&quot;sendto&quot;</span><span>]&nbsp;=&nbsp;你的手机号;&nbsp;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$data</span><span>[</span><span class="string">&quot;message&quot;</span><span>]&nbsp;=&nbsp;</span><span class="vars">$username</span><span>.</span><span class="string">&quot;说：&quot;</span><span>.</span><span class="vars">$content</span><span>;&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$curl</span><span>&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;Curl_Class();&nbsp;&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;@<span class="vars">$curl</span><span>-&gt;post(</span><span class="string">&quot;http://sms.api.bz/fetion.php&quot;</span><span>,&nbsp;</span><span class="vars">$data</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//END&nbsp;msg&nbsp;notice</span><span>&nbsp;</span></span></li></ol></pre>
<p>测试一下OK了，中间的工作已经都交给了sms.api.bz 完成了。</p>
<p>如果你测试出现如下结果：</p>
<p><em>Warning: Cannot modify header information - headers already sent by</em></p>
<p>那么请看下面这段话</p>
<div class="codebox">编码问题，utf-8有两种模式，utf-8 with bom 和utf-8 with no bom ,utf-8 with bom 会在头部输出隐藏的信息，我们知道header()跟session_start()函数前是不能有任何输出的，所以就会产生这个问题，用编辑器（不要用记事本）打开这个文件，另存为utf-8 with not bom这种模式就行了。</div>
<p><div class="attach"><a href="http://liupeng.us/attachment.php?id=260" target="_blank"><img src="http://liupeng.us/attachments/date_200911/thumb_c51fb28cd5448ecc0b79eb7d126266aa.jpg" border="0" alt="&#13;&#13;大小: 44.1 K&#13;尺寸: 500 x 224&#13;浏览: 181 次&#13;点击打开新窗口浏览全图" width="500" height="224" /></a></div></p>
<p>在此感谢金山的<a target="_blank" href="http://blog.s135.com/">张宴组长</a>提供无私飞信中转服务.更多详细关于飞信短信提醒请移步 <a target="_blank" href="http://blog.s135.com/fetion_api/">中国移动飞信免费发短信API接口（第三方 Fetion API）</a></p>]]></description>
			<link>http://liupeng.us/fetion-new-api-sablog-comment-sms-notice/</link>
			<category domain="http://liupeng.us/category/program/">PHP</category>
			<pubDate>2009-11-20 01:05</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/js-Mutilang-Solutions/</guid>
			<title>JS多语言设计方案</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>公司目前碰到一个项目，客户是美国CDC，因为考虑到中方与美方的合作机构，所以需要设计出多版本语言切换。要求前台实现。因为语言包不需要经常修改没必要入库操作，所以将语言包写在一个配置文件里面是最好的（自我感觉）。</p>
<p><strong>先看DEMO</strong>：<a href="http://liupeng.us/demo/mutiLang.html" target="_blank">JS多语言设计方案（带记忆效果）</a><br />
<br />
于是第一次尝试，我写了一个语言包（JS文件）：</p>
<pre><ol class="dp-c"><li class="alt"><span><span>message.en={&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;1&quot;</span><span>:&nbsp;</span><span class="string">&quot;Application&nbsp;Form&nbsp;for&nbsp;Project&nbsp;Activity&quot;</span><span>,&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;2&quot;</span><span>:&nbsp;</span><span class="string">&quot;Project&nbsp;Name:&quot;</span><span>,&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;3&quot;</span><span>:&nbsp;</span><span class="string">&quot;National&nbsp;Level:&quot;</span><span>,&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;4&quot;</span><span>:&nbsp;</span><span class="string">&quot;Provincial&nbsp;Level:&quot;</span><span>,&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;5&quot;</span><span>:&nbsp;</span><span class="string">&quot;Implementing&nbsp;Unit&nbsp;(NCAIDS&nbsp;division,&nbsp;provincial&nbsp;unit,&nbsp;or&nbsp;other):&quot;</span><span>,&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;6&quot;</span><span>:&nbsp;</span><span class="string">&quot;Project&nbsp;ID&nbsp;#:&quot;</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span>message.chs={&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;1&quot;</span><span>:&nbsp;</span><span class="string">&quot;项目活动申请表&quot;</span><span>,&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;2&quot;</span><span>:&nbsp;</span><span class="string">&quot;项目名称:&quot;</span><span>,&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;3&quot;</span><span>:&nbsp;</span><span class="string">&quot;国家级单位:&quot;</span><span>,&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;4&quot;</span><span>:&nbsp;</span><span class="string">&quot;省级单位:&quot;</span><span>,&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;5&quot;</span><span>:&nbsp;</span><span class="string">&quot;项目执行单位(注明性艾中心科室，省级单位，或其他):&quot;</span><span>,&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="string">&quot;6&quot;</span><span>:&nbsp;</span><span class="string">&quot;项目活动序号:&quot;</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li></ol></pre>
<p>然后给需要替换的语言包文字</p>
<pre><ol class="dp-xml"><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">p</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;LANGS&quot;</span><span class="tag">&gt;</span><span>Form&nbsp;Submission&nbsp;Date:</span><span class="tag">&lt;/</span><span class="tag-name">p</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li></ol></pre>
<p>然后通过获取 具有class=&quot;LANGS&quot;的对象，组成数组集合。</p>
<pre><ol class="dp-xml"><li class="alt"><span><span>var&nbsp;</span><span class="attribute">oLangArea</span><span>&nbsp;=&nbsp;</span><span class="attribute-value">document</span><span>.getElementsByTagName(&quot;p&quot;);&nbsp;</span></span></li></ol></pre>
<p>然后循环遍历oLangArea数组，进行语言替换，刚开始觉得很不错。后来，由于疏忽漏掉一个元素，结果BUG就出来了。<br />
因为这种方案是按oLangArea数组的自然顺序排序的，比如在2：National Level:的前面加入一个元素，这样2以后的顺序都需要更改，项目中有43个语言块，结果带来了大量的重复劳动力...于是最后放弃了这种做法。</p>
<p><strong>第二种解决方案</strong></p>
<p>顺利的解决了上面的问题，但是需要多添加一些HTML代码，语言包不变。<br />
HTML代码如下：</p>
<pre><ol class="dp-xml"><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">p</span><span>&nbsp;</span><span class="attribute">class</span><span>=</span><span class="attribute-value">&quot;LANGS&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;L7&quot;</span><span class="tag">&gt;</span><span>Form&nbsp;Submission&nbsp;Date:</span><span class="tag">&lt;/</span><span class="tag-name">p</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li></ol></pre>
<p>&nbsp;</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">for</span><span>(</span><span class="keyword">var</span><span>&nbsp;i=0;i&lt;=oLangArea.length;i++){&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j&nbsp;=&nbsp;(oLangArea[i].getAttribute(<span class="string">&quot;id&quot;</span><span>)).substring(1);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oLangArea[i].innerHTML&nbsp;=&nbsp;eval(<span class="string">'message.'</span><span>+lang+</span><span class="string">'['</span><span>+j+</span><span class="string">']'</span><span>);&nbsp;</span></span></li><li><span>}&nbsp;</span></li></ol></pre>
<p>可以看出来这个可以适应以后的语言包顺序更改。只需要在相应位置加入HTML代码，然后在语言包中指定对应多语言。<strong>通过ID来绑定，效率方面应该比第一种方案要低一些，但是少量的语言包应该不会有多大的差别，且JS语言包已经载入，细微的效率差别，却换来了长期的可维护性。</strong></p>
<p>以上是个人愚见，因为JS还很差，正在努力学习中。分享一下自己实践的项目，大家一起进步。</p>]]></description>
			<link>http://liupeng.us/js-Mutilang-Solutions/</link>
			<category domain="http://liupeng.us/category/front-end-design/">HTML/CSS/JS</category>
			<pubDate>2009-11-09 16:58</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/google-picasa/</guid>
			<title>时光博客的Picasa相册</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>Google如此好的产品竟然也被水产了，我TC无比神奇。为了保障大家无障碍阅览时光博客的Cosplay图集，现在手把手教大家穿墙术。引用keso的一句话</p>
<div class="codebox"><a href="http://blog.donews.com/keso" target="_blank">keso是谁？</a><br />
作为一个有点上进心的中国网民，<a tartet="_blank" href="http://tor.zuo.la/">穿墙术</a>是你必须掌握的生存技能之一。</div>
<p>如果你是WIN用户，开始 - 运行 - 输入&ldquo;<strong>C:\windows\system32\drivers\etc</strong>&rdquo;</p>
<p>用记事本或者文本编辑软件打开 <strong>hosts</strong> 文件，在最下面加入（直接CTRL+C 即可）</p>
<p>203.208.39.104 picadaweb.google.com<br />
203.208.39.104 lh1.ggpht.com<br />
203.208.39.104 lh2.ggpht.com<br />
203.208.39.104 lh3.ggpht.com<br />
203.208.39.104 lh4.ggpht.com<br />
203.208.39.104 lh5.ggpht.com<br />
203.208.39.104 lh6.ggpht.com<br />
203.208.39.104 lh7.ggpht.com<br />
203.208.39.104 lh8.ggpht.com</p>
<p>这时你再打开<a href="http://liupeng.us/photo" target="_blank">时光博客 - Picasa 相册</a>会发现</p><br /><br /><b>图片附件(缩略图):</b><br /><a href="http://liupeng.us/attachment.php?id=263" target="_blank"><img src="http://liupeng.us/attachments/date_200911/thumb_f8435c879507f48ff8a9ba0e1bc8da32.jpg" border="0" alt="大小: 222.84 K&#13;尺寸: 500 x 398&#13;浏览: 128 次&#13;点击打开新窗口浏览全图" width="500" height="398" /></a>]]></description>
			<link>http://liupeng.us/google-picasa/</link>
			<category domain="http://liupeng.us/category/daily-life/">Life/Story</category>
			<pubDate>2009-10-30 16:32</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/css-border-triangle/</guid>
			<title>CSS的border实现三角的随想</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>沉寂了好久哇，今天出了冒个泡，证明我还活着，然后再有模有样来篇技术稿，然后继续沉寂。</p>
<p>今天在<a href="http://www.css88.com/" target="_blank">CSS88</a>的博客看到一篇有趣的文章<a href="http://www.css88.com/archives/1875" target="_blank">《用css的border属性实现三角》</a>。首先我会站在自己角度思考一下，如果要实现这样的三角效果，我会采取哪种方法？</p>
<div class="codebox">我的第一反应就是用图片，但是同时也考虑到图片的缺点，如果以个页面需要几种样式的三角，是不是需要做几种图片？另外如果页面有换肤的需求，是不是同时图片也得换？</div>
<p>于是出于优化的思想考虑，看到用CSS来解决三角应该属于最佳解决方案吧，至少节约了三角图片的下载时间和便于换肤。但是也有他的缺点，因为是CSS的，所以必须考虑到各个浏览器对CSS的兼容状态。</p>
<p>当然本文仅讨论如何用border实现三角。首先来看下面以副图片：</p>
<p><div class="attach"><a href="http://liupeng.us/attachment.php?id=258" target="_blank"><img src="http://liupeng.us/attachments/date_200910/thumb_cd7169a33994de3247355de6115c1e31.jpg" border="0" alt="&#13;&#13;大小: 48.54 K&#13;尺寸: 500 x 447&#13;浏览: 1975 次&#13;点击打开新窗口浏览全图" width="500" height="447" /></a></div></p>
<p>从图中大家可以看到，一个高度，宽度为0的box是如何，变成一个三角形的。一下是html代码。</p>
<pre><ol class="dp-xml"><li class="alt"><span><span>&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&quot;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Transitional//EN&quot;&nbsp;&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span><span class="tag">&lt;</span><span class="tag-name">html</span><span>&nbsp;</span><span class="attribute">xmlns</span><span>=</span><span class="attribute-value">&quot;http://www.w3.org/1999/xhtml&quot;</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">head</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span><span class="tag">&lt;</span><span class="tag-name">meta</span><span>&nbsp;</span><span class="attribute">http-equiv</span><span>=</span><span class="attribute-value">&quot;Content-Type&quot;</span><span>&nbsp;</span><span class="attribute">content</span><span>=</span><span class="attribute-value">&quot;text/html;&nbsp;charset=utf-8&quot;</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">title</span><span class="tag">&gt;</span><span>用css的border属性实现三角</span><span class="tag">&lt;/</span><span class="tag-name">title</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span><span class="tag">&lt;</span><span class="tag-name">style</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span>#box{&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;margin:0px&nbsp;auto;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;width:0px;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;height:0;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;font-size:0px;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;border-bottom:50px&nbsp;#F00&nbsp;solid;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;border-left:50px&nbsp;#03F&nbsp;solid;&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;border-right:&nbsp;50px&nbsp;#F90&nbsp;solid;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;border-top:50px&nbsp;#6C0&nbsp;solid;&nbsp;</span></li><li><span>}&nbsp;</span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="tag">&lt;/</span><span class="tag-name">style</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></span></li><li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">head</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span><span class="tag">&lt;</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">div</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;box&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">div</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li><span><span class="tag">&lt;/</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="tag">&lt;/</span><span class="tag-name">html</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li></ol></pre>
<p>下面来看看三角的兼容性</p>
<p>测试平台：WIN XP SP2 2600<br />
测试浏览器：Firefox 3.5.3 ，IE 6<br />
测试结果以及兼容方案如下图</p>
<p><div class="attach"><a href="http://liupeng.us/attachment.php?id=259" target="_blank"><img src="http://liupeng.us/attachments//date_200910/5902ac983fc6054ac09ab2ae2d5debb3.jpg" border="0" alt="&#13;&#13;大小: 44.35 K&#13;尺寸: 500 x 419&#13;浏览: 49 次&#13;点击打开新窗口浏览全图" width="500" height="419" /></a></div></p>
<p>之前一直以为border就是一条直线，然后四边没有交集，因为很少用到超过5px的border,所以从来没有注意到border放大后的效果，现在终于明白了，<strong>border并不是直线，而是在顶点段同相邻边分享顶角。</strong></p>
<p>三角的原理：</p>
<div class="codebox">比如要做一个向上的三角形，那么之需要设置块状元素的width:0px;height:0px;font-size:0px;，然后给顶角相反方向的border外的三个边设置背景颜色为网页底色（上例中位白色）即可。</div>
<p>关于三角的demo演示：<a href="http://www.css88.com/demo/border/border.html" target="_blank">http://www.css88.com/demo/border/border.html</a></p>]]></description>
			<link>http://liupeng.us/css-border-triangle/</link>
			<category domain="http://liupeng.us/category/front-end-design/">HTML/CSS/JS</category>
			<pubDate>2009-10-25 23:52</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/archives/115/</guid>
			<title>哥玩的不是劲舞团，是寂寞</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p><strong>绝对经典的一篇文章，大家看看吧，从小A那里转过来的，经我转载的比为经典中的经典。</strong></p>
<p>每当夜幕降临。<br />
哥总是拖着疲惫的身躯<br />
把我那泛黄的迷彩服脱掉，<br />
换上了我从夜市第三个摊子买来的非主流服装。<br />
昏黄的路灯下<br />
有一道孤寂的身影走进了小巷深处的一家网吧<br />
留下的只有寂寞的背影<br />
没错，那就是哥<br />
熟悉的走到了吧台的位置<br />
拿出了8元人民币<br />
淡淡的说了句 &ldquo;包夜&rdquo;<br />
吧台新来的女网管，对我投出了一道暧昧不明的微笑<br />
哥无奈的摇了摇头。<br />
淡然的接过了那张临时卡。<br />
在大家的心目中，我永远是个温柔而又不爱说话的哥<br />
但是那个新来的网管还是看穿了我笑容背后的忧郁。</p>
<p>试了一台又一台的电脑。<br />
哥不如意地摇了摇头。<br />
这些电脑的配置根本满足不了<br />
哥玩劲舞团这款高端游戏的配置<br />
突然哥眼前一亮。<br />
AOC14寸CRT显示屏<br />
windows 98 系统</p>
<p>delux多彩人体学键盘<br />
双飞燕鼠标。<br />
没错，就是它了。</p>
<p>哥用这台电脑玩劲舞团根本就是如虎添翼<br />
用这台电脑，哥跳自由220<br />
上30W是毫无悬念的</p>
<p>虽然我们已经告别了486，586的时代，。<br />
走向了奔腾X<br />
不过现在很多人家里电脑还停留在那里<br />
在这里，<br />
哥提醒下大家<br />
想要和哥一样能熟练的运用电脑，<br />
起码要买个好点的CPU，</p>
<p>熟练性的打开劲舞团<br />
也就是我们这种职业玩家口中的Au<br />
从qq硬盘里下了个外挂</p>
<p>对于哥这种高端玩家来说<br />
有良好的技术是必要的<br />
有个良好的外挂更是重中之重</p>
<p><br />
&ldquo;寻7，本哥哥的真心只属于我爱的人&rdquo;<br />
不一会儿，房间里的人都站满了<br />
哥先把里面那些农民飞掉</p>
<p>哥平生最鄙视的就是那些顶着一身<br />
系统赠送的衣服来玩劲舞团的。</p>
<p>每当看到这样的一些人，<br />
作为一个职业玩家。<br />
哥是不能容忍的。</p>
<p>&rdquo;帅哥，我能聘么？&rdquo;<br />
一道醒目的红色字体吸引住了<br />
哥的眼光。</p>
<p>一眼对照上去。那个妞是个带着一个<br />
45块的表情的，穿着一身商城刚出来<br />
的衣服。</p>
<p>哥不由得心动了，</p>
<p>哥淡然的说了句<br />
&ldquo;可以，视频先验货。加我秋秋<br />
XXXXXX</p>
<p>哥赶紧先调了下视频。第一步肯定是<br />
先把亮度调到最高，<br />
这样看起来，哥身上有一种沧桑的美</p>
<p>看着视频里的自己，哥心中不由得有<br />
一阵数不尽的辛酸，<br />
心中默念到<br />
哥这张脸去做鸭应该也挺赚钱的。</p>
<p>&ldquo;你是那个寻7的？&rdquo;<br />
哥一看，原来那个妞已经加上哥的QQ了<br />
&ldquo;你的qq好漂亮啊，竟然有7个钻&rdquo;<br />
&ldquo;呵呵，没什么。哥是个追求完美的人&rdquo;</p>
<p>其实，哥内心的辛酸只有自己知道<br />
每个月工头发工资，哥总是要拿出100块<br />
来买那7个钻。<br />
碰上工头不发工资<br />
哥就要给劲舞团里面的那些亲戚<br />
&ldquo;阿姨。我的红钻掉了，我在家里冲不上。你帮<br />
我冲一下。过几天给你劲舞团买衣服。&rdquo;<br />
过几天后，哥就不认识他们了。</p>
<p>-视频聊天<br />
哥发现和我聊天的那个妞，眼睛里好像有桃心了<br />
哥为了这个效果特意不洗头了好多天。。<br />
哥这样颓废的形象一向在劲舞团里面都很吃香的</p>
<p>哥一看视频里面那个女的，长相还可以<br />
而且还是个非主流。<br />
哥赶紧问她家居何地，父母何人。<br />
没想到，那个女的竟然和哥是同一个城市的</p>
<p>哥淡然的回了句&rdquo;哦，那以后有机会一起来玩Au&rdquo;<br />
哥就把视频关了</p>
<p>哥虽然钱不多，但是对于勾引非主流这方面还是<br />
比较擅长的，根据哥以前的经验，非主流的女孩子<br />
都是很好约出来的。哥要故意装出一副。哥身边有<br />
很多女孩子，不差你一个的样子。这样，下次约她<br />
出来的时候她就不会拒绝。</p>
<p>哥不紧不慢的走到吧台。&rdquo;网管。劲舞团的1000点&rdquo;<br />
然后萧洒的从后面的大口袋里掏出了2张5块钱。<br />
面无表情的拿给了网管。<br />
冲好之后哥淡然的离开了吧台，而哥的眼神。从<br />
始至终都没看过那个女网管一眼。隐隐约约听到后面<br />
两个网管在议论。&rdquo;这个男的好帅，而且那么酷&hellip;。。&rdquo;<br />
哥无奈的摇了摇头。<br />
嘴角挂着一丝若有若无的苦笑。</p>
<p>回到座位。看到那根只剩下烟屁股。<br />
但是还在燃烧着的香烟。哥拿起来猛<br />
吸一口。指尖微烫。喉咙里充满着一股<br />
劣质烟草夹杂着一丝燃烧塑料薄膜的<br />
味道。</p>
<p>不只到从什么时候开始。哥很喜欢<br />
这种感觉。 这种感觉，仿佛能勾起哥<br />
多年在外打工的那种心酸。</p>
<p>哥毫不犹豫的把刚冲的那10块钱，买成<br />
了劲舞团里面的喇叭。看着游戏里面多出<br />
来的喇叭，哥平静的心里不由得生出了一<br />
些淫邪的念头。</p>
<p>&ldquo;结婚。1-1 056&Prime;<br />
哥干脆利落的发了个QQ信息给刚才视频的<br />
那个女的。</p>
<p>哥完全可以想象那个女的收到QQ信息时的<br />
那种受宠若惊的感觉。毕竟。哥并不是一个随<br />
便的人。</p>
<p>没想到，竟然没有人来帮哥结婚。<br />
&ldquo;没事。我叫人过来&rdquo;</p>
<p>哥随手刷了2个3毛钱的喇叭。不一会儿，来了<br />
几个人。 平静的跳完了那首&rdquo;不得不爱&rdquo;<br />
一回到舞台，哥就把那两个帮忙结婚的给飞掉了。<br />
没看到喇叭没人来。一看到喇叭就以为哥是有钱人，<br />
就要来讨好哥了。哥看不起他们，势力的狗</p>
<p>接着。<br />
哥就和我老婆在房间里跳舞。<br />
一开始哥还不想叫他老婆的，对于哥这种<br />
外表很冷酷。而且内心深处还带着一点儿羞<br />
涩的男子，一认识几分钟就要叫别人老婆。<br />
哥是有点无法接受的。<br />
不过那个女的一直左一声老公。右一声老公。<br />
哥心里不由得动摇了。有时候当个冷酷的哥<br />
是必要的，但表现的太冷酷，说不定哥要和<br />
他见面的计划就泡汤了。</p>
<p>由于哥有个良好的外挂。所以哥不管跳什么<br />
模式都特别厉害。我老婆就一直在旁边喊<br />
&ldquo;老公你好好棒棒哦&rdquo;哥对于这种众星拱月<br />
的感觉还是很享受的。</p>
<p>突然，哥看到了下面刷喇叭的地方。闪过了<br />
几个喇叭。<br />
&ldquo;某男子，你个狗。老子帮你结婚你还飞老子。<br />
有本事把喇叭接上 1&Prime;<br />
在这里，要和亲们说一下。哥在劲舞团里面的<br />
名字就叫&rdquo;某男子&rdquo; 。 这个名字是不是让亲们<br />
觉得冷酷之中又带有一点的帅气。特别是其中还<br />
带有那淡淡的神秘感。哥一眼就喜欢上了这个名字。<br />
&ldquo;某男子，你个狗。老子帮你结婚你还飞老子。<br />
有本事把喇叭接上 2 &rdquo;<br />
没想到刚刚飞的那两个人里面还有个是个有钱<br />
的。刷的那两个喇叭，还是劲舞团里面最贵的那种<br />
一个5块钱的。<br />
哥内心深处闪过了一丝惊慌。口袋里只有8块钱了，<br />
那8块还是明天三份快餐的钱。。</p>
<p>还好号上还有刚没刷完的9块多的喇叭<br />
哥先把他接上，等下再想办法。<br />
&ldquo;本哥哥飞人从来都是不需要理由的。不服和本哥哥<br />
带数字来 ↘↘&rdquo;<br />
没想到那个人竟然没有声音了。看来也就是个冲<br />
10块钱装**的货色。哥心里暗笑道 。</p>
<p>现在那个女的是越来越崇拜我了，一直追问着哥到底<br />
住哪里。现实当中有没有女朋友啊。<br />
哥淡然的说道。<br />
&ldquo;我住在XX花园小区(这个是本哥哥所在城市里最高<br />
档的小区)。父母在北京开酒店的，一年回来不了一次<br />
家里就我一个人和3个保姆。女朋友上个月和我最好的<br />
兄弟搞上了，我因为无聊所以才来上劲舞团的。<br />
说得那女的左一声惊叹右一声惊叹的，还说不然她搬<br />
过来和哥住一起吧，怕哥孤单。<br />
哥赶紧推脱掉，说我过几天要到香港玩玩 。大约一个星期<br />
什么什么的。<br />
其实哥心中是想马上就见到他的。不过这几天都月底了，<br />
工资都花光了，。出来要是连开房的钱都没有那就什么<br />
都泡汤了，把她叫去我们那个工棚那是不可能的事情。<br />
还是等下个月工头发工资了哥再叫她出来。<br />
哥心中不由得无奈的想到。</p>
<p>之后。长夜漫漫。哥陪她跳了一个晚上的情歌。明天一早，哥<br />
赶紧匆忙的和她留了电话。就回到工棚。换上了我那泛黄色的<br />
迷彩服。吃了个2块钱的早餐就跑到工地了。</p>
<p>日复一日，<br />
哥每天晚上对着镜子深情的望着<br />
自己那唏嘘胡渣子。苍白而又幽柔<br />
的脸庞。迷离之中带着一点忧郁的眼神。<br />
哥心中不由自主自主的想起了那句古话。<br />
&ldquo;卿本佳人 奈何做贼&rdquo;<br />
哥有着金絮般的脸庞。却要屈居做着这被<br />
人叫做城市建设者的工作 。不甘的情绪<br />
慢慢的弥漫在哥英俊的脸庞上。不过很快就<br />
消失了。毕竟哥不是一个善于表达自己情绪的<br />
人，哥永远是那个温柔而又不爱说话的哥。</p>
<p>终于等到了发工资的日子。<br />
哥憋屈了大半个月的欲望终于找到了突破口。<br />
到了夜市里花了50块买了2件高档的衣服，哥<br />
对于那些整天穿着&rdquo;柒牌&rdquo;&lsquo;九牧王&rsquo;的人是有些<br />
鄙咦的。虽然衣冠楚楚。但谁知道背后又在做着<br />
什么龌龊的事情。什么嫖宿幼女，70码。还不是<br />
都是那些人做出来的事。</p>
<p>哥走进了一家理发店。虽然哥对于现在的发型很<br />
满意。但哥是个追求完美的人。看着洗头时候那<br />
慢慢从干净变成浑浊的水。哥无奈的笑了笑</p>
<p>&ldquo;老婆。今天晚上有空没有？我刚从香港回来&rdquo;<br />
&ldquo;哇，老公。你回来了阿。恩啊，我有空，你要和我<br />
见面吗？&rdquo;<br />
&ldquo;恩，晚上7点，你在XXX等我。我去接你。到了给你<br />
打电话。&rdquo;<br />
一从工地回来。哥赶紧用自来水管洗了个澡。换上<br />
了那身，哥最潮的衣服。走到马路边。挥了挥手。<br />
一辆夏利牌TAXI利马就停在了哥的面前。哥很<br />
喜欢这种潇洒的感觉。虽然不经常坐TAXI。但是<br />
那种呼之即来。挥之即去的快感。哥是很迷恋的。<br />
这种感觉不是你们这些每天挤公交。还要冒着<br />
生命危险以及被&rdquo;莫须有&rdquo;成故意纵火罪的人能体<br />
会得到的。</p>
<p>哥悠然的靠在了后座上。 突然。。熟悉的&rdquo;两只蝴蝶&rdquo;<br />
响起来了。哥懒洋洋的接起了电话。电话里面传来了<br />
一阵激动地声音。<br />
&ldquo;老公阿。 我到这里了。你什么时候到呢&rdquo;<br />
&ldquo;再过4分钟&rdquo;<br />
到了目的地。哥潇洒的付了车费。慵懒的走到了约定的<br />
地点。哥一眼就认出了那个游戏里的&rdquo;老婆&rdquo;。不过应该<br />
很快就要也变成现实了。哥心中传来了一阵阵酥痒。不过<br />
哥依然装作那副漫不经心的样子。走到了她的面前。她也<br />
认出我来了。<br />
她竟然在路边大叫起来了&rdquo;老公。我在这里&hellip;&hellip;&hellip;。&rdquo;</p>
<p>哥双手插着裤子后面那两个超大的口袋<br />
静静的朝着那个女孩子走了过去。<br />
在这一刻。哥冷酷而又忧郁的目光竟然<br />
变得柔情似水。<br />
四目对望。时间仿佛静止在了这个时刻。<br />
我内心深处那XING爱的火花喷薄而出。<br />
不过哥依然掩饰的很好。淡淡的对她笑了笑<br />
&ldquo;老婆？&rdquo;<br />
&rdquo; 老公？&rdquo;<br />
狗血的对白，重演过无数次的桥段。<br />
我们都羞涩的低下了头，相视一笑。菊花微痒。</p>
<p>那女的突然走过来 。挽起了我的手。<br />
紧紧地夹在了胳膊中间。<br />
哥硬又黑的手臂与她颈下7寸处若有若无的<br />
触碰。害得哥心里一阵荡漾 。</p>
<p>&ldquo;老公，我们去哪里玩呢&rdquo;<br />
&ldquo;先在广场逛逛吧。今天家里的车被我朋友借走<br />
了，我只能做TAXI过来了。。晚上可能不能回家了<br />
我那边太远了。&rdquo;<br />
&ldquo;没事啊。不然老公晚上先和我住吧。反正我租的<br />
那个房子也只有我一个人住&rdquo;</p>
<p>哥心中顿然大喜。对自己那种潜移默化的佩服顿时<br />
又多了几分。没想到这次找到了个。连开房费都能<br />
省的&hellip;&hellip;&hellip;</p>
<p>时间如梭，很快天就完全黑了下来，<br />
哥也不能免俗的和她说到了最重点的问题&hellip;<br />
&ldquo;我们回去吧。这里也没什么好玩的了。。&rdquo;<br />
随手拦下一辆出租车。</p>
<p>到了她的出租屋<br />
开门以后 哥搂住了她的腰<br />
上下摸索<br />
她娇嗔道 唉哟 哥好坏<br />
哥懒得跟她废话了<br />
把她抱起放倒床上<br />
完事以后<br />
哥优雅地点了支烟<br />
烟雾缭绕中 哥的眼神更加扑朔迷离<br />
像哥这种拉风的男子<br />
是任何女子都无法抗拒的<br />
她把头靠在我的肩上<br />
温柔地说<br />
从今以后 我就是哥的人了&hellip;。<br />
哥依然沉默<br />
像哥这种走到哪都被亿万少女迷恋的男人<br />
是不轻易给别人承诺的<br />
想起明早还要赶回工地搬砖<br />
哥心里不禁一阵凄凉<br />
哥抬起头45&deg;望着窗外<br />
这样眼泪不那么容易掉下来</p>
<p>红涨佳人 。一夜无眠<br />
凌晨的时候 趁她还在熟睡<br />
哥穿上了从夜市买来的那套最潮的衣服<br />
踩着那双花20元从摊子上买来的高档匡威板鞋<br />
蹑手蹑脚走出了她的出租屋<br />
冷酷而沉默的哥<br />
甚至没有回头看一眼还在熟睡的她<br />
哥不是无情无义的人<br />
哥只是被逼无奈<br />
哥长着一张做鸭都能赚钱的脸<br />
为什么不是富家子弟<br />
为什么要做这被人称为城市建设者的工作<br />
想到这里 哥的眼睛湿润了</p>
<p>在工地上搬了一天的砖<br />
哥心力交瘁<br />
又到了晚上<br />
哥脱掉沾满泥浆的迷彩服<br />
换上了最潮的非主流服装。<br />
昏黄的路灯下<br />
有一道孤寂的身影钻进了小巷深处的一家网吧<br />
留下的只有寂寞的背影<br />
没错，那还是哥<br />
一上秋秋<br />
哥昨晚睡过的那个女人的头像一直在闪动着<br />
哥潇洒地双击鼠标点开对话框<br />
&lsquo;老公，早上醒来你怎么不见了？我找不到你，55555&rsquo;<br />
哥嘴角轻轻上扬<br />
一道似有若无的笑容在脸上荡漾<br />
看来哥的英俊潇洒<br />
已经让她深陷其中无法自拔了<br />
哥给她回了条信息<br />
&lsquo;昨晚朋友叫我去KTV了，看你睡得正香就没吵醒你&rsquo;<br />
她迅速地回了条信息<br />
&lsquo;老公原来你在哇，我被那个叫&lsquo;女圭女圭&rsquo;欺负了，5555，快来帮我 21&mdash;7&prime;<br />
哥不禁火冒三丈<br />
哥在AU里也算是有头有脸的人物，居然敢欺负我的女人<br />
哥马上点开劲舞团<br />
进去后立刻开房间<br />
&lsquo;某男子点名教育女圭女圭，TMD，跪&darr;，喝XX，舔XX&rsquo;<br />
在劲舞团里 ，踩人的时候取一个霸气的房间名字是很有必要的<br />
这世道就是善的怕恶的，恶的怕横的，横的怕不要命的<br />
不一会儿房间里站满了看热闹的人<br />
哥嘴角再次泛起了一丝似有若无的笑容<br />
哥还是很迷恋这种万众敬仰的感觉的<br />
哥点燃一根烟，甩了甩头发</p>
<p>那个叫&lsquo;女圭女圭&rsquo;的终于进来了<br />
&lsquo;接？&rsquo; 哥简单而冷酷地打出了这个字<br />
&lsquo;等等我儿子来&rsquo;<br />
&lsquo;速度，谢谢&rsquo;<br />
不久后，她的儿子来了<br />
哥甩出简单的一句话，F1，谢谢。<br />
当哥按下F1的时候才发现大事不妙，哥一时情急居然忘了开外挂<br />
三十六计，ALT+ F4先　　<br />
终于做好准备工作，再回来，进到房间先大骂一通，什么难听就拣什么骂<br />
总之要让大家看到哥的愤怒，哥是被卡掉的~~~绝对不是因为没开外挂自己闪的<br />
DJ已经转到了她儿子手中，他把哥踢出了房间<br />
哥遇到这种事向来都是蛋定而不鸡动<br />
哥马上重新开了一个房间<br />
&lsquo;某男子点灭女圭女圭及其狗崽子，TMD，跪&darr;，喝XX，舔XX，踢爷有GC？&rsquo;<br />
不一会儿，房间里人满为患<br />
毫无疑问，哥到哪都是焦点</p>
<p>女圭女圭和她儿子进来了<br />
哥不由分说把他俩踢出了房间<br />
特步，飞一般的感觉<br />
哥还是很享受这种踢人的快感的<br />
他们再次进来<br />
那男的说 换普通，自由挂多<br />
哥不由地心里一阵虚惊，菊花一紧<br />
哥的外挂是跳不了普通模式的<br />
但是哥很快就淡定地说，这是哥的地盘，哥说了算，不敢接就滚出去<br />
F1后，哥镇定地操纵着外挂<br />
哥万万没有想到，那厮是个卡P高手<br />
不到2分钟，就超过哥10万多分<br />
哥停下来，淡定地说，关掉你的高科技，谢谢<br />
一局跳完后，哥甩出一句话，给你一根网线，你就能把13装得活灵活现<br />
然后把他再次踢出了房间</p>
<p>在围观群众的欢呼声中，哥仿佛看见房间里的那些MM双眼已经变成了桃心状(哇，好有男子气概哦，我喜欢~~)<br />
哥正在幸福地流着哈喇子，突然看见屏幕上方的喇叭闪过一行字<br />
某男子，跳不赢劳资就说劳资开挂，早知道你这么没出息当年我就应该忍住那两秒钟的快感把你射在墙上<br />
NND，这么多MM看见了，多没面子。<br />
口袋里还有三十块，想了又想，这个场子怎么都要找回来，未来一个礼拜的生活费等未来再说吧。<br />
咬咬牙，忍着那割肉般的痛，冲了30块的M币。<br />
女圭女圭给劳资跪&darr;，喝XX，添XX，一阵乱喊。<br />
这世道就是善的怕恶的，恶的怕横的，横的怕不要命的~~<br />
哥生活费都不要了，还怕毛啊</p>
<p>眼看M币越来越少，老婆总算是说了句话了，算了啊，老公，表跟他们这些没素质的人计较啦。<br />
哥菊花再次一紧，总算找到个台阶下<br />
嗯，哥好歹也是个受过高等教育的文明人~~~~跟这些垃圾计较还真是有失身份<br />
深夜 哥肚子饿了<br />
摸摸口袋，才想起兜里剩的那三十块钱早拿来刷喇叭了<br />
哥默默地走到网吧的洗手间<br />
看四周没人的时候，拧开了水龙头猛灌了几大口自来水<br />
喝饱了之后，哥打了个响亮的饱嗝<br />
看见镜子里哥颓废而英俊的脸<br />
哥无奈地笑了笑，心中默念道。<br />
&ldquo;我本善良。奈何生活逼良为娼。&rdquo;</p>
<p>日复一日 时光如梭 白驹过隙<br />
直到有一天 老婆在秋秋上娇羞地对哥说<br />
老公，我怀孕了，怎么办哇，55555<br />
顺便说一句<br />
像哥这样会享受生活的人，做AI向来都是不屑于戴T的<br />
常在河边走，哪有不湿鞋<br />
哥无奈地笑了笑<br />
把她的秋秋拖到了黑名单<br />
相爱不如相忘于江湖<br />
人生若只如初见，何事秋风悲画扇。<br />
奈何天意弄人。<br />
一般像哥这种职业的劲舞团玩家，都是有这种觉悟的。<br />
哥眼角。有泪滑过。</p>
<p>哥是个有品位的人<br />
哥还是很迷恋劲舞团这款高端游戏的<br />
但某男子那个号<br />
是绝不能再上了<br />
哥重新申请了个号<br />
初吻給了煙<br />
这样带有点忧郁带有点迷离的名字<br />
在劲舞团里是很受MM欢迎的<br />
只可惜<br />
在劲舞团里买一套衣服，至少要100多块<br />
像哥这种劲舞团职业玩家，是不屑于穿系统送的&lsquo;农民装&rsquo;的<br />
但是这个月的工资已经花完了<br />
哥的眼睛再次湿润了</p>
<p>夜深人静月黑风高的时候<br />
一道孤寂的身影钻进了工地<br />
没错，那还是哥<br />
在工地转悠了一圈<br />
捡了几根钢管<br />
如是三个晚上<br />
哥颤抖的手指从废品店老板手中接过那150元卖废铁的钱<br />
再次钻进了小巷深处的网吧<br />
熟悉的走到了吧台的位置<br />
拿出了150元人民币<br />
淡淡的说了句 &ldquo;冲MB&rdquo;<br />
找了一个最靠近空调的位置，享受着冷气吹过时的舒坦<br />
买了套最新出的衣服，配上最贵的表情，一身衣着光鲜<br />
哥唇角上扬，露出了YIN荡的微笑<br />
突然觉得鼻子有点痒<br />
抠出一坨黑绿色物体<br />
哥潇洒地一弹，依然粘在手指上<br />
再弹，依然粘住了<br />
哥无奈地笑了笑，把手指伸进了嘴里<br />
微咸</p>
<p>进入劲舞团，开房间<br />
&ldquo;寻7，本哥哥的真心只属于我爱的人&rdquo;<br />
不出哥所料，不一会儿，房间里人满为患<br />
&lsquo;帅哥，偶能聘么？&rsquo;<br />
&lsquo;可以，视频先验货。加我秋秋XXXXXX&rsquo;<br />
狗血的对白，重演过无数次的桥段。<br />
哥嘴角一丝若有若无的微笑，菊花微痒</p>
<p>昏黄的路灯下<br />
幽暗的小巷里<br />
一道孤寂的身影<br />
手指夹着半截劣质烟<br />
没错，那还是哥<br />
哥抽的是烟，吐出来的是寂寞</p>
<p>喧嚣的网吧，浑浊的空气<br />
AOC14寸CRT显示屏前<br />
一道颓废而又英俊的背影<br />
用F6 F7 F8熟练潇洒地操纵着外挂<br />
没错，那还是哥<br />
哥玩的不是劲舞团，是寂寞</p>]]></description>
			<link>http://liupeng.us/archives/115/</link>
			<category domain="http://liupeng.us/category/daily-life/">Life/Story</category>
			<pubDate>2009-09-02 01:21</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/design-need-Innovation/</guid>
			<title>设计需要大胆的创新</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>设计需要大胆的创新，最近才慢慢摸索出这个观点，虽然很早就有人提出过。关于<a href="http://liupeng.us/youku-iku-ucd/" target="_blank">《youku为什么没有放置iku?》</a>&nbsp;以及最近在<a href="http://www.aliued.cn/" target="_blank">阿里巴巴用户体验部</a>看到的<a href="http://www.aliued.cn/?p=2128" target="_blank">《office2007 ribbon界面的启示》</a>，越来越让我感觉到设计的重要性。就引用《office2007 ribbon界面的启示》里面的一段很精辟的话来概括吧：</p>
<div class="codebox">在MIX0.8上Jensen公开了Office2007在界面&ldquo;变革&rdquo;中的一些历程，我们可以看到一些早起的原型是如何逐渐过渡到Ribbon界面的，这让我们深思设计的意义，<strong>设计不仅仅是解决问题的过程，我们不仅仅是要考虑用户习惯和文化，还需具有打破常规和改变用户习惯的勇气，这样才能以更优的方式来解决问题</strong>，这很难，但这也是设计的迷人之处。</div>
<p>创新设计虽然会有一定的商业风险，特别是用户群庞大的产品，如果被用户接受，就算成功，如果接受不了，就会导致整个产品的失败...其带来的损失也是无法估量的... </p>]]></description>
			<link>http://liupeng.us/design-need-Innovation/</link>
			<category domain="http://liupeng.us/category/UED-UCD-ID/">Team/ID/UE</category>
			<pubDate>2009-07-22 21:18</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/youku-iku-ucd/</guid>
			<title>youku为什么没有放置iku?</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>今天用公司电脑上网，在<a href="http://youku.com" target="_blank">youku</a>看到一个<a href="http://v.youku.com/v_show/id_XNTYyNTc5NDA=.html" target="_blank">不错的视频</a>，想下载，结果想下载iku，找了半天就是找不到iku的下载地址。后来找了很久，尝试登陆后，才在上传视频处找到了。具体地址为 <a href="http://c.youku.com/iku" target="_blank">http://c.youku.com/iku</a></p>
<p>很匪夷所思，为什么youku为什么没有放置iku下载?而一定要用户登录后才能下载iku软件，首先参考一下同行网站看看吧</p>
<p><a href="http://tudou.com" target="_blank">土豆网</a></p>
<p><div class="attach"><a href="http://liupeng.us/attachment.php?id=253" target="_blank"><img src="http://liupeng.us/attachments//date_200907/ebcee3fa90c97a3641b4401477edee0a.jpg" border="0" alt="&#13;&#13;大小: 20.27 K&#13;尺寸: 355 x 76&#13;浏览: 186 次&#13;点击打开新窗口浏览全图" width="355" height="76" /></a></div></p>
<p>土豆网的导航中有一个&rdquo;土豆软件&ldquo;的链接，这个点击访问后，用户能够被引导到下载土豆软件页面。这里提供了土豆所有的小软件，当然包括上传视频的itudou。</p>
<p>因为没有用过<a href="http://6.cn" target="_blank">六房间</a>和<a href="http://56.com" target="_blank">56.com</a>这2个网站，所以不知道是否存在下载视频功能。如果我们把iku当成一种产品来对待的话，列举一下类似网站如何处理产品推广产品的。</p>
<p><div class="attach"><a href="http://liupeng.us/attachment.php?id=254" target="_blank"><img src="http://liupeng.us/attachments//date_200907/8635b0b974d1da50e8726b5f7bcda4c4.jpg" border="0" alt="&#13;&#13;大小: 46.61 K&#13;尺寸: 282 x 226&#13;浏览: 194 次&#13;点击打开新窗口浏览全图" width="282" height="226" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=255" target="_blank"><img src="http://liupeng.us/attachments//date_200907/167f68100e5642fd9b3c56c4db3002d4.jpg" border="0" alt="&#13;&#13;大小: 35.14 K&#13;尺寸: 239 x 194&#13;浏览: 173 次&#13;点击打开新窗口浏览全图" width="239" height="194" /></a></div><div class="attach"><a href="http://liupeng.us/attachment.php?id=256" target="_blank"><img src="http://liupeng.us/attachments//date_200907/be31174ff384d3f164087541e01203ba.jpg" border="0" alt="&#13;&#13;大小: 32.91 K&#13;尺寸: 284 x 137&#13;浏览: 180 次&#13;点击打开新窗口浏览全图" width="284" height="137" /></a></div></p>
<p><strong>youku不放置的理由下面是我的猜想</strong></p>
<p><div class="attach"><a href="http://liupeng.us/attachment.php?id=257" target="_blank"><img src="http://liupeng.us/attachments//date_200907/d6273715d5093eaa94672f974db3b4a5.gif" border="0" alt="&#13;&#13;大小: 11.01 K&#13;尺寸: 400 x 300&#13;浏览: 183 次&#13;点击打开新窗口浏览全图" width="400" height="300" /></a></div></p>
<p>国内IM老大们的做法，都是先提供下载然后用户注册（对于新用户而言）。采取的类似于土豆的做法。似乎这种做法在行业内已经是默认的做法了，产品设计师遇到一个产品，首先想的就是设计一个简洁而漂亮的大按钮，然后写上&rdquo;免费下载&ldquo;，&rdquo;免费下载体验&ldquo;这类的字样，忽悠用户下载产品，当目的达到后，用户下载下来发现还需要注册软件，当然软件界面一般是不提供注册的，点击注册后会被引导到网站进行注册，注册完后，又回到了客户端进行登录，如此反复，进行了4次操作，最后才成功登陆。今天碰到&ldquo;Youku不登陆找不到产品下载&rdquo;这个现象，本来觉得很气愤，然后想骂一通，产品设计人员怎么弄的？？？也不提供一个下载，突然画完youku和土豆流程图的时候，才发现，原来自己错了，是Youku在试着引导行业、用户改变一种普遍存在的思维方式，从而正真做到&rdquo;用户为中心&ldquo;，简易设计原则。使用户从&rdquo;4步操作&ldquo;跳回到&rdquo;3步操作&ldquo;，减少了一步无用功。只是对youku没有在网站的任何位置说明&rdquo;新用户，只有登录了，才能找到iku下载位置&ldquo;这个做法，感到一点陌生。</p>
<p>以上纯属个人愚见，有不正确的地方和需要改进的地方，欢迎博友们指正！</p>]]></description>
			<link>http://liupeng.us/youku-iku-ucd/</link>
			<category domain="http://liupeng.us/category/UED-UCD-ID/">Team/ID/UE</category>
			<pubDate>2009-07-21 14:59</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/archives/112/</guid>
			<title>前途的展望</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>转眼已经毕业差不多有3周多了，没毕业之前的工作由于毕设原因，已经辞掉了。而目前这份工作也是未毕业之前约定好的。想想自己也真是够捣腾的，之前在公司做是Front-End Designer，而现在的工作是纯粹的PHP Coder，哎，直到现在还是找不到自己真正喜欢的东西，看来我这个人相当的不专一，问了一些朋友也给了我一些方法，可我始终放不下，曾把硬盘全部格式化了，只留前端开发的一些资料，上网的时候经常碰到不错的程序和程序的技术文章，想装作无视，手却不自动的收藏了下来。<br />
<br />
没办法，在网上找了一些关于对自己职业的定位文章，也曾做过一些测试<a target="_blank" href="http://www.gxlztc.net/xzbm/lztczsb/printpage.asp?ArticleID=657">《霍兰德职业兴趣量表(HCIT)》</a>，终是克制不住自己兴趣爱好的广泛。不经意在网上看到一句话，人没有工作10年，无法找到自己最终的工作定位和人生兴趣。也许真的反复周折10年最后才能找到自己真正的兴趣。为什么这么着急找准自己的兴趣和爱好？<strong>这个世界很现实，如果不专一就只能在金字塔的底层工作，只能干一些没有创造性的工作，做一些普通的事。这不是我想要的，也不是每个不屈于命运的人想要的。</strong>因为，有太多的东西需要我们来承担...<br />
<br />
我做了一些承诺，从现在开始，我要把自己放得最低，从基础学起，一步一步来，循序渐进。另外，我发现现在自己的精神世界特别空虚，所以决定继续写已经阔别四年多的小说。来筑建自己的精神世界。<br />
<br />
我希望能够早日专一在一项工作上，<strong>不能光停留在应用上，要了解底层，熟悉原理，才能无限创新</strong>。<br />
想跟和我身处同境的朋友们一起励志加油，希望能早日专注在一件事上，早日成功！</p>]]></description>
			<link>http://liupeng.us/archives/112/</link>
			<category domain="http://liupeng.us/category/daily-life/">Life/Story</category>
			<pubDate>2009-07-15 22:44</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/fetion-api-exp/</guid>
			<title>Fetion API使用实例</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p><span style="color: rgb(255, 102, 0);"><strong>注意此实例已经失效，请移步最新地址：</strong></span><a href="http://liupeng.us/fetion-new-api-sablog-comment-sms-notice/" target="_blank">《博客留言短信提醒更新》</a></p>
<p>前天修改了下博客评论手机提醒功能，发布了一篇 <a target="_blank" href="http://liupeng.us/sablog-fetion-sms-notice/">《Sablog添加评论手机短信提示功能》</a> 文章之后，确实很爽，朋友们留言，手机马上就受到提示。着实很爽，总有种直接&ldquo;回复短信&rdquo;进行评论的冲动，但是我想这个是暂时不可能的。<a target="_blank" href="http://huangj.in/">HuangJ.in</a> 同学一直想要Fetion的API，其实也不能算是API了，只是提供了一个URL地址，供用户从WEB界面GET数据从而实现发送功能。下面看看我自己使用的飞信API：</p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;?php&nbsp;&nbsp;</span></span></li><li><span><span class="keyword">include</span><span>&nbsp;</span><span class="string">&quot;./class_fetion.php&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt">&nbsp;</li><li class="alt"><span><span class="comment">//new&nbsp;fetion&nbsp;class&nbsp;and&nbsp;init 2个参数 一个是手机号，一个是自己的手机密码 </span><span><br /></span></span></li><li class="alt"><span><span class="vars">$fetion</span><span>&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;fetion(</span><span class="string">'13911444932'</span><span>,&nbsp;</span><span class="string">'111111'</span><span>);</span></span></li><li><span><span class="vars">$fetion</span><span>-&gt;init()&nbsp;</span><span class="keyword">or</span><span>&nbsp;</span><span class="keyword">die</span><span>(</span><span class="string">&quot;fetion&nbsp;init&nbsp;failure!\n&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;</span></li><li><span><span class="comment">//example&nbsp;1 2个参数 一个是tel:手机号 一个是短信内容</span><span> <br /></span></span></li><li class="alt"><span><span class="vars">$fetion</span><span>-&gt;sent_sms(</span><span class="string">'tel:13911444932'</span><span>,&nbsp;</span><span class="string">'测试短信来自，时光博客'</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;</span><span>&nbsp;</span></li><li><span>?&gt;&nbsp;&nbsp;</span></li></ol></pre>
<p>上面的这个是简单的使用，函数被封装在class_fetion.php文件里面了。<a target="_blank" href="http://liupeng.us/demo/fetion-api.rar">【点击下载】</a></p>
<p>另外在GG的时候也发现了 <a target="_blank" href="https://fetionapi.appspot.com/">Google App Engine提供的API</a></p>
<p>使用起来很简单，只要填入自己的手机号，和密码，即可。前提是自己必须 <a target="_blank" href="http://www.fetion.com.cn/">开通飞信</a> 功能（该功能免费）。</p>
<p>怎么使用就看自己的需求了，Sablog 2.0用户只需要上传压缩包中的<strong>class_fetion.php</strong>到根目录，修改根目录下的<strong>post.php</strong>文件：</p>
<p>搜索</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="vars">$cmid</span><span>&nbsp;=&nbsp;</span><span class="vars">$DB</span><span>-&gt;insert_id();&nbsp;</span></span></li></ol></pre>
<p>在下面加上</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="comment">//add&nbsp;msg&nbsp;notice</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(</span><span class="vars">$username</span><span>!=</span><span class="string">'你博客的管理员用户名，我的是Kevin'</span><span>)&nbsp;{&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$r</span><span>&nbsp;=&nbsp;</span><span class="vars">$DB</span><span>-&gt;fetch_one_array(</span><span class="string">&quot;SELECT&nbsp;title&nbsp;FROM&nbsp;{$db_prefix}articles&nbsp;WHERE&nbsp;articleid='$articleid'&nbsp;LIMIT&nbsp;1&quot;</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">include</span><span>&nbsp;</span><span class="string">&quot;./class_fetion.php&quot;</span><span>;&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//new&nbsp;fetion&nbsp;class&nbsp;and&nbsp;init&nbsp;</span><span>&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$fetion</span><span>&nbsp;=&nbsp;</span><span class="keyword">new</span><span>&nbsp;fetion(</span><span class="string">'你的手机号'</span><span>,&nbsp;</span><span class="string">'手机服务密码'</span><span>);&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$fetion</span><span>-&gt;init()&nbsp;</span><span class="keyword">or</span><span>&nbsp;</span><span class="keyword">die</span><span>(</span><span class="string">&quot;fetion&nbsp;init&nbsp;failure!\n&quot;</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//$fetion-&gt;sent_sms('tel:你的手机号', $username.'在时光博客上发表对文章&nbsp;'.$r['title'].'&nbsp;的评论：'.$content);</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$fetion</span><span>-&gt;sent_sms(</span><span class="string">'tel:你的手机号'</span><span>,&nbsp;</span><span class="vars">$username</span><span>.</span><span class="string">'说：'</span><span>.</span><span class="vars">$content</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//END&nbsp;msg&nbsp;notice</span><span>&nbsp;</span></span></li></ol></pre>
<p>即可，加上username过滤是为了避免自己的回复也被发送到手机上。</p>
<p>附：<a target="_blank" href="http://code.google.com/p/philna/downloads/list">Wordpress博客系统评论短信提示管理员插件</a></p>]]></description>
			<link>http://liupeng.us/fetion-api-exp/</link>
			<category domain="http://liupeng.us/category/program/">PHP</category>
			<pubDate>2009-07-04 17:39</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/firefox3_5-will-not-support-moz-opacity/</guid>
			<title>Firefox3.5已不支持属性-moz-opacity</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>安装了FireFox3.5之后，发现以前时光博客iGoogle皮肤中的换肤功能中有透明属性的一些DIV都不透明了。点击&rdquo;换肤&ldquo;按钮的时候，发现overlay已经一片黑暗，不再是60%的透明，于是猜想，FireFox3.5难道不支持它自家的CSS透明属性-moz-opacity了？上网一查，果真如此。<br />
在<a href="https://developer.mozilla.org/En/CSS:-moz-opacity" target="_blank">https://developer.mozilla.org/En/CSS:-moz-opacity</a>里说得很清楚了：</p>
<div class="codebox"><span style="color: rgb(0, 0, 255);"><strong>Note:  Firefox 3.5 and later do not support -moz-opacity.  By now, you should be using simply opacity.</strong></span></div>
<p>3.5以后的版本将不再支持-moz-opacity属性，现在都要改用opacity这个属性了。</p>
<p>于是要设置一下透明度为60%的DIV就应该这样写了：</p>
<pre><ol class="dp-css"><li class="alt"><span><span>div.transp&nbsp;{&nbsp;</span></span></li><li><span>opacity:&nbsp;<span class="value">0.6</span><span>;&nbsp;</span><span class="comment">/*&nbsp;Firefox,&nbsp;Safari(WebKit),&nbsp;Opera)</span>&nbsp;</span></li><li class="alt"><span><span class="comment">filter:&nbsp;&quot;alpha(opacity=60)&quot;;&nbsp;/*&nbsp;IE&nbsp;8&nbsp;*/</span><span>&nbsp;</span></span></li><li><span>filter:&nbsp;alpha(opacity=<span class="value">60</span><span>);&nbsp;</span><span class="comment">/*&nbsp;IE&nbsp;4-7&nbsp;*/</span><span>&nbsp;</span></span></li><li class="alt"><span>zoom:&nbsp;<span class="value">1</span><span>;&nbsp;</span><span class="comment">/*&nbsp;needed&nbsp;in&nbsp;IE&nbsp;up&nbsp;to&nbsp;version&nbsp;7,&nbsp;or&nbsp;set&nbsp;width&nbsp;or&nbsp;height&nbsp;to&nbsp;trigger&nbsp;&quot;hasLayout&quot;&nbsp;*/</span><span>&nbsp;</span></span></li><li><span>}&nbsp;</span></li></ol></pre>
<p>opacity这个是属于CSS3里面的东西了，属于CSS3的标准。然而微软IE8还不支持这一属性。</p>]]></description>
			<link>http://liupeng.us/firefox3_5-will-not-support-moz-opacity/</link>
			<category domain="http://liupeng.us/category/front-end-design/">HTML/CSS/JS</category>
			<pubDate>2009-07-02 23:45</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/sablog-fetion-sms-notice/</guid>
			<title>Sablog添加评论手机短信提示功能</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p>之前看到过 <a target="_blank" href="http://huangj.in/">HuangJ</a> 和 <a target="_blank" href="http://www.lineks.cn/">Lin'X</a> 写过评论回复的邮件提示和基于移动139邮箱的手机邮件提醒。都相当的优秀，这几天闲就在网上看到了飞信的公开协议，参看了一些资料，对本博客系统Sablog-X 2.0进行了修改，添加上了文章评论手机短信提示功能。</p>
<p><strong>前提：</strong></p>
<ol>
    <li>必须为移动的号，联通暂时没有支持</li>
    <li>必须开通飞信功能</li>
</ol>
<p><strong>看看测试结果：</strong></p>
<p><div class="attach"><a href="http://liupeng.us/attachment.php?id=252" target="_blank"><img src="http://liupeng.us/attachments//date_200907/2405635d83a99629178dfaba63d9907c.gif" border="0" alt="&#13;&#13;大小: 30.04 K&#13;尺寸: 500 x 360&#13;浏览: 242 次&#13;点击打开新窗口浏览全图" width="500" height="360" /></a></div></p>
<p>上面2图就是测试的结果，时间的差异是服务器时间和手机时间不同产生的，理论上，网页显示的时间要比手机显示的早一点点。</p>
<p>发信的是本人的飞信，相当于自己给自己发短信一样。</p>
<p>这样以来，以后有了新的回复，就能第一时间收到，而且不花一分钱，不需要上网收邮件看了^ ^.</p>
<p>PS：其实不只Sablog可以做到，wordpress也能做到，只要在相应文件添加发送代码即可。</p>]]></description>
			<link>http://liupeng.us/sablog-fetion-sms-notice/</link>
			<category domain="http://liupeng.us/category/program/">PHP</category>
			<pubDate>2009-07-02 21:05</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/php-excel-ascii-data-import/</guid>
			<title>基于PHP的EXCEL的数据导入</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p><strong>问题背景：</strong></p>
<p>前段时间做毕业设计的时候，客户有一个需求，要求实现上传EXCEL文件，对文件中的数据进行数据库入库。困难的是，要实现EXCEL数据文件的信息排列任意性无错兼容导入。导入过程中发现，PHP读取EXCEL的时候，出现的是ASCII值，而非汉字和字母数字。当然最后循环入库的时候，数据库中的也都是ASCII，于是要对EXCEL文件进行ASCII码值的转换。 （未经转换的）</p>
<pre><ol class="dp-xml"><li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">tr</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&amp;#23398&amp;#21495</span><span class="tag">&lt;/</span><span class="tag-name">td</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&amp;#22995&amp;#21517</span><span class="tag">&lt;/</span><span class="tag-name">td</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&amp;#24615&amp;#21035</span><span class="tag">&lt;/</span><span class="tag-name">td</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&amp;#30005&amp;#35805&amp;#21495&amp;#30721</span><span class="tag">&lt;/</span><span class="tag-name">td</span><span class="tag">&gt;</span><span>&nbsp;</span></span></li></ol></pre>
<p><strong>查看 基于PHP的EXCEL的数据导入的</strong> <a href="http://liupeng.us/demo/excel/" target="_blank">【在线演示】 </a></p>
<p><strong>解决方案：</strong></p>
<p>当用PHP读取数据文件的时候，遇到传入的字符串内含&ldquo;#&amp;&rdquo;的时候直接进行decode，否则直接输出，因为如果是纯数字、字母、下划线等符号，读取的是未经过ASCII码转换的。</p>
<p>PHP读取EXCEL（限EXCEL2003）文件的方法：</p>
<p>先加载EXCEL数据处理类，然后配置好相关的参数，文件名，Sheet 名执行读取函数Read_Excel_File，获取返回数据</p>
<p>不知道Sheet名的请看下图</p>
<p><div class="attach"><a href="http://liupeng.us/attachment.php?id=246" target="_blank"><img src="http://liupeng.us/attachments//date_200907/8d21f1577eecd1bb2e7301144b9cc082.jpg" border="0" alt="&#13;&#13;大小: 57.36 K&#13;尺寸: 436 x 327&#13;浏览: 81 次&#13;点击打开新窗口浏览全图" width="436" height="327" /></a></div></p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;?php&nbsp;</span></span></li><li><span><span class="comment">//加载EXCEL操作类</span><span>&nbsp;</span></span></li><li class="alt"><span><span class="keyword">require_once</span><span>&nbsp;</span><span class="string">'./excel_class.php'</span><span>;&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="comment">//加载EXCEL文件Sheet1名&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span>&nbsp;</span></span></li><li><span><span class="vars">$file_sheet</span><span>&nbsp;=&nbsp;</span><span class="string">&quot;Sheet1&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>Read_Excel_File(<span class="string">&quot;test.xls&quot;</span><span>,</span><span class="vars">$return</span><span>);&nbsp;</span></span></li><li><span>&nbsp;</span></li><li class="alt"><span><span class="comment">//$return[$file_sheet]返回EXCEL行数</span><span>&nbsp;</span></span></li><li><span><span class="keyword">for</span><span>&nbsp;(</span><span class="vars">$i</span><span>=0;</span><span class="vars">$i</span><span>&lt;</span><span class="func">count</span><span>(</span><span class="vars">$return</span><span>[</span><span class="vars">$file_sheet</span><span>]);</span><span class="vars">$i</span><span>++)&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;tr&gt;&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="vars">$j</span><span>=0;</span><span class="vars">$j</span><span>&lt;</span><span class="func">count</span><span>(</span><span class="vars">$return</span><span>[</span><span class="vars">$file_sheet</span><span>][</span><span class="vars">$i</span><span>]);</span><span class="vars">$j</span><span>++)&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;td&gt;&quot;</span><span>.</span><span class="vars">$return</span><span>[</span></span><span><span class="vars">$file_sheet</span></span><span><span>][</span><span class="vars">$i</span><span>][</span><span class="vars">$j</span><span>].</span><span class="string">&quot;&lt;/td&gt;&quot;</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;/tr&gt;&quot;</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>?&gt;&nbsp;</span></li></ol></pre>
<p>在进行逐行读取EXCEL CELL数据的时候，只要对CELL数据进行ascii类的decode方法就可以了。</p>
<pre><ol class="dp-c"><li class="alt"><span><span>&lt;?php&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="comment">//这里的$i=0是指定读取起始行数</span><span>&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="vars">$i</span><span>=0;</span><span class="vars">$i</span><span>&lt;</span><span class="func">count</span><span>(</span><span class="vars">$return</span><span>[</span><span class="vars">$file_sheet</span><span>]);</span><span class="vars">$i</span><span>++)&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;tr&gt;&quot;</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">for</span><span>&nbsp;(</span><span class="vars">$j</span><span>=0;</span><span class="vars">$j</span><span>&lt;</span><span class="func">count</span><span>(</span><span class="vars">$return</span><span>[</span><span class="vars">$file_sheet</span><span>][</span><span class="vars">$i</span><span>]);</span><span class="vars">$j</span><span>++)&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;td&gt;&quot;</span><span>.</span><span class="vars">$ascii</span><span>-&gt;decode(</span><span class="vars">$return</span><span>[</span></span><span><span class="vars">$file_sheet</span></span><span><span>][</span><span class="vars">$i</span><span>][</span><span class="vars">$j</span><span>]).</span><span class="string">&quot;&lt;/td&gt;&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="func">echo</span><span>&nbsp;</span><span class="string">&quot;&lt;/tr&gt;&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;?&gt;&nbsp;</span></li></ol></pre>
<p>相关的操作类如下：</p>
<pre><ol class="dp-c"><li class="alt"><span><span class="keyword">class</span><span>&nbsp;ascii&nbsp;</span></span></li><li><span>{&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">function</span><span>&nbsp;decode(</span><span class="vars">$str</span><span>)&nbsp;{&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$flag</span><span>&nbsp;=&nbsp;</span><span class="string">&quot;&amp;#&quot;</span><span>;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$pos</span><span>&nbsp;=&nbsp;</span><span class="func">strpos</span><span>(</span><span class="vars">$str</span><span>,&nbsp;</span><span class="vars">$findme</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>(</span><span class="vars">$pos</span><span>&nbsp;===&nbsp;FALSE)&nbsp;{&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="vars">$str</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<span class="keyword">else</span><span>{&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;preg_match_all(<span class="string">&quot;/([0-9]{2,5})/&quot;</span><span>,&nbsp;</span><span class="vars">$str</span><span>,</span><span class="vars">$a</span><span>);&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$a</span><span>&nbsp;=&nbsp;</span><span class="vars">$a</span><span>[0];&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">foreach</span><span>&nbsp;(</span><span class="vars">$a</span><span>&nbsp;</span><span class="keyword">as</span><span>&nbsp;</span><span class="vars">$dec</span><span>){&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">if</span><span>&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;&lt;&nbsp;128)&nbsp;{&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(</span><span class="vars">$dec</span><span>);&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class="keyword">else</span><span>&nbsp;</span><span class="keyword">if</span><span>&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;&lt;&nbsp;2048)&nbsp;{&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(192&nbsp;+&nbsp;((</span><span class="vars">$dec</span><span>&nbsp;-&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;64))&nbsp;/&nbsp;64));&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(128&nbsp;+&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;64));&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<span class="keyword">else</span><span>&nbsp;{&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(224&nbsp;+&nbsp;((</span><span class="vars">$dec</span><span>&nbsp;-&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;4096))&nbsp;/&nbsp;4096));&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(128&nbsp;+&nbsp;(((</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;4096)&nbsp;-&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;64))&nbsp;/&nbsp;64));&nbsp;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="vars">$utf</span><span>&nbsp;.=&nbsp;</span><span class="func">chr</span><span>(128&nbsp;+&nbsp;(</span><span class="vars">$dec</span><span>&nbsp;%&nbsp;64));&nbsp;&nbsp;</span></span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">return</span><span>&nbsp;</span><span class="vars">$utf</span><span>;&nbsp;</span></span></li><li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;</span></li><li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;</span></li><li><span>}&nbsp;</span></li></ol></pre>
<p>本例的源码下载：<a href="http://liupeng.us/attachment.php?id=247" title="php-excel-import.rar&#13;&#13;大小:15.82 K, 下载次数:222" target="_blank">php-excel-import.rar</a></p>]]></description>
			<link>http://liupeng.us/php-excel-ascii-data-import/</link>
			<category domain="http://liupeng.us/category/program/">PHP</category>
			<pubDate>2009-07-01 17:25</pubDate>
		</item>
		<item>
			<guid>http://liupeng.us/archives/107/</guid>
			<title>毕业了</title>
			<author>Kevin</author>
			<description><![CDATA[时光博客 ( http://liupeng.us/ ) : <p><div class="attach"><a href="http://liupeng.us/attachment.php?id=244" target="_blank"><img src="http://liupeng.us/attachments//date_200906/8541500a82c24fb50e847e633f6232ca.jpg" border="0" alt="&#13;&#13;大小: 156.57 K&#13;尺寸: 500 x 256&#13;浏览: 142 次&#13;点击打开新窗口浏览全图" width="500" height="256" /></a></div></p>
<p>6月份注定很忙，工作也辞了，为了的圆满完成大学最后一个任务，当然离职的一部分原因也是自己和老板价值观不同。</p>
<p>6月份认真的完成了毕业设计，中间少不了同学们和导师的热情帮助。导师为了我顺利完成毕业设计，给我放宽了毕业设计的时间。还好功夫不负有心人，优秀毕业设计。整个计算机系2个优秀设计公开答辩，我算其中一个，算是大大的满足了我的虚荣心。不过其中有导师的一大部分功劳。</p>
<p>写代码、写论文、修改、打印、装订、小组答辩、公开答辩、照毕业照、班级聚会、宿舍吃散伙饭、学位授予仪式、照学士学位照、盖章、领毕业证书，学位证书、清理宿舍、搬东西、离校...整个6月都是忙的，一直到现在我还认为自己没有毕业，为什么离别的时候一点悲伤都没有？一滴眼泪都没掉下来。是自己已经麻木了...</p>
<p>聚会的时候，说了很多以前没有，也没敢说的话，人生就这一次，以后再也不会有了，我不愿意错过，我怕错过了此时此景无法再次重演了。说出了一些话，没有后悔，当时真想拥有一个只有2个人的世界，哪怕是一分钟，可以尽情的流泪敞开心扉地告诉你一切。那天晚上有唱过一首歌，张真的<a href="http://g.top100.cn/7872775/html/player.html?type=song&amp;id=S6db1c778a0a06dfa&amp;autoplay=true#loaded" target="_blank">《携手游人间》</a>，KTV包间中人声嘈杂，不过我还是很认真的唱完了，很开心，那天是人生中最快乐的一天，微微的带着醉意，意志依然清醒...</p>
<p>宿舍6个人，6个不同的地方，湖北、山西、四川、山东、河北、北京。最终三个人留在北京工作，一个人在北邮上研究生，一个人在河北上班、一个人回了山西。我们约好了北京的一个月见面一次，宿舍的半年一次聚会。十月一山西孩子结婚，总算是可以见面的。</p>
<p>现在想想，大家都离开了，离开的时候很匆忙，没有跟很多人道别，自己默默的走了...杨柳依依，而人去楼空...这两天做梦，梦见自己游荡回了学校，徘徊在宿舍楼走廊里面，走廊里面没有人，只有静悄悄的风，从空洞的门口涌来，毫无声息的吞没了我...</p>
<p>朋友们，我亲爱的同学们，但愿你们过得都好，找到自己想要的幸福。希望我们永远是朋友！</p><br /><br /><b>图片附件:</b><br /><a href="http://liupeng.us/attachment.php?id=243" target="_blank"><img src="http://liupeng.us/attachments//date_200906/431fe9576776020d7ca1599f2538cea3.jpg" border="0" alt="大小: 204.17 K&#13;尺寸: 500 x 327&#13;浏览: 148 次&#13;点击打开新窗口浏览全图" width="500" height="327" /></a>]]></description>
			<link>http://liupeng.us/archives/107/</link>
			<category domain="http://liupeng.us/category/daily-life/">Life/Story</category>
			<pubDate>2009-06-30 00:20</pubDate>
		</item>
	</channel>
</rss>
