<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://wudicgi.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fwudicgi.spaces.live.com%2fcategory%2fPHP%2ffeed.rss' version='1.0'?><rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:msn="http://schemas.microsoft.com/msn/spaces/2005/rss" xmlns:live="http://schemas.microsoft.com/live/spaces/2006/rss" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Wudi's Blog: PHP</title><description /><link>http://wudicgi.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catPHP</link><language>en-US</language><pubDate>Thu, 06 Nov 2008 05:26:01 GMT</pubDate><lastBuildDate>Thu, 06 Nov 2008 05:26:01 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://wudicgi.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>-7069490911547799830</live:id><live:alias>wudicgi</live:alias></live:identity><cf:listinfo><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="typelabel" label="Type" /><cf:group ns="http://schemas.microsoft.com/live/spaces/2006/rss" element="tag" label="Tag" /><cf:group element="category" label="Category" /><cf:sort element="pubDate" label="Date" data-type="date" default="true" /><cf:sort element="title" label="Title" data-type="string" /><cf:sort ns="http://purl.org/rss/1.0/modules/slash/" element="comments" label="Comments" data-type="number" /></cf:listinfo><item><title>文件最优分配算法</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!286.entry</link><description>&lt;p&gt;这个功能是 WUSN 2 中的，三月份就写好了，现在把它整理出来，以便参考。
&lt;p&gt;算法本身很简单，但经过实际使用，发现分配结果还是很理想的。
&lt;ol&gt;
&lt;li&gt; &lt;span style="color:#0000ff;font-family:Fixedsys"&gt;&amp;lt;?php&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$size_container&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;713031680&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;; &lt;/span&gt;&lt;span style="color:#008080;font-family:Fixedsys"&gt;// 680MB&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$size_toosmall&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;8388608&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;; &lt;/span&gt;&lt;span style="color:#008080;font-family:Fixedsys"&gt;// 8MB&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$discs&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;array&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;()&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items_overflow&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;array&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;()&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items_toosmall&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;array&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;()&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;array&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;array&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;id&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;ID&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;,&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;          &lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;Size&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;,&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;array&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;id&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;ID&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;2&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;,&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;          &lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;Size&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;2&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;,&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    ...&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;array&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;id&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;ID&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;n&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;,&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;          &lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;Size&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;n&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;usort&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;, &lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;sort_by_size_desc&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;as&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$key&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;{&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;if&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &amp;gt; &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$size_container&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;{&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items_overflow&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;unset&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$key&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;])&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;}&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;elseif&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &amp;lt; &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$size_toosmall&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;{&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items_toosmall&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;unset&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$key&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;])&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;}&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;}&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;while&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;count&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;))&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;{&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;reset&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$key&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;key&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;current&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$disc_ids&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;array&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;id&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;])&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$disc_size&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;unset&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$key&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;])&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;foreach&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;as&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$key&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;{&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;if&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;((&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$disc_size&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;+&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;])&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &amp;lt;= &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$size_container&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;{&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;            &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$disc_ids&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;id&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;            &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$disc_size&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; += &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$item&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;            &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;unset&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$key&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;])&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;        &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;}&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;}&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$discs&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; = &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;array&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;ids&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$disc_ids&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;, &lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; =&amp;gt; &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$disc_size&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;}&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;echo&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;&amp;lt;pre&amp;gt;&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;print_r&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$discs&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;print_r&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items_overflow&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;print_r&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$items_toosmall&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;echo&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;&amp;lt;/pre&amp;gt;&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;function&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;sort_by_size_desc&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$a&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;, &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$b&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;)&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;{&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;    &lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;return&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;(&lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$a&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;]&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; &amp;lt; &lt;/span&gt;&lt;span style="color:#ff8000;font-family:Fixedsys"&gt;$b&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;[&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;size&lt;/span&gt;&lt;span style="color:#808080;font-family:Fixedsys"&gt;'&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;])&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; ? &lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt; : -&lt;/span&gt;&lt;span style="color:#ff0000;font-family:Fixedsys"&gt;1&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;}&lt;/span&gt;&lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt; &lt;/span&gt;
&lt;li&gt; &lt;span style="color:#000000;font-family:Fixedsys"&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-family:Fixedsys"&gt;?&amp;gt;&lt;/span&gt;&lt;/ol&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%96%87%e4%bb%b6%e6%9c%80%e4%bc%98%e5%88%86%e9%85%8d%e7%ae%97%e6%b3%95&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!286.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!286.entry</guid><pubDate>Sun, 25 Jun 2006 09:50:07 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!286/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!286.entry#comment</wfw:comment><dcterms:modified>2006-06-26T11:49:15Z</dcterms:modified></item><item><title>PHP 5.1.4 气死我了</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!274.entry</link><description>&lt;p&gt;前一段时间我的 Files 中有一些应用程序产生了异常，比如 Media Player 中某些音乐的歌词加载不正常，Highlighter 中看不到文件内容。我一直以为这是网络问题引起的，比如主机名解析错误，或者是被安装了间谍软件，就朝着这个方向查找问题，但一直没找到问题。
&lt;p&gt;今天经过一阵忙活，最后发现这个问题居然是 PHP 5.1.4 引起的，降低到 5.1.2 版后一切正常。
&lt;p&gt;PS，5 月 1 日 PHP Group 就发布了 5.1.3 版，没过几天又发布了 5.1.4 版来修正 5.1.3 版中的一个紧要的错误，后来不知哪天又说上次 PEAR 的 phar 文件没有打包进去，又更新了一次。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+PHP+5.1.4+%e6%b0%94%e6%ad%bb%e6%88%91%e4%ba%86&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!274.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!274.entry</guid><pubDate>Sat, 20 May 2006 04:18:51 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!274/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!274.entry#comment</wfw:comment><dcterms:modified>2006-05-20T04:44:25Z</dcterms:modified></item><item><title>Miranda IM Database Reader 项目地址</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!265.entry</link><description>&lt;p&gt;&lt;strong&gt;SourceForge.net:&lt;/strong&gt;
&lt;p&gt;&lt;a href="http://sourceforge.net/projects/mimdbreader/"&gt;http://sourceforge.net/projects/mimdbreader/&lt;/a&gt;
&lt;p&gt;&lt;strong&gt;PHP Classes:&lt;/strong&gt;
&lt;p&gt;&lt;a href="http://www.phpclasses.org/browse/package/3010.html"&gt;http://www.phpclasses.org/browse/package/3010.html&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+Miranda+IM+Database+Reader+%e9%a1%b9%e7%9b%ae%e5%9c%b0%e5%9d%80&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!265.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!265.entry</guid><pubDate>Sat, 08 Apr 2006 13:26:43 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!265/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!265.entry#comment</wfw:comment><dcterms:modified>2006-04-10T22:48:55Z</dcterms:modified></item><item><title>Miranda IM Database Reader 已提交</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!264.entry</link><description>&lt;p&gt;MIM DB Reader 是一个可以读取 Miranda IM 数据库的 PHP 类。因此你可以获得联系人设置、聊天记录等有用的信息。
&lt;p&gt;----
&lt;p&gt;这次除了 PHP Classes，还提交到了 SourceForge.net。
&lt;p&gt;sf.net 的应该能先批下来，PHP Classes 的可能需要较长的时间才能批完。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+Miranda+IM+Database+Reader+%e5%b7%b2%e6%8f%90%e4%ba%a4&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!264.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!264.entry</guid><pubDate>Fri, 31 Mar 2006 12:19:57 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!264/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!264.entry#comment</wfw:comment><dcterms:modified>2006-04-03T10:47:11Z</dcterms:modified></item><item><title>系统各组件简介</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!262.entry</link><description>&lt;p&gt;&lt;font size=3&gt;&lt;strong&gt;Commons&lt;/strong&gt;&lt;/font&gt;
&lt;p&gt;Commons 是系统的中心，实现一些多个程序都会用到的功能，也起到一定的沟通作用。
&lt;p&gt;现在 Commons 的功能较少。仅含有通用文件访问和相关资源查询及处理。
&lt;p&gt; 
&lt;p&gt;&lt;strong&gt;&lt;font size=3&gt;Contacts&lt;/font&gt;&lt;/strong&gt;
&lt;p&gt;Contacts 用于管理联系人信息。其中的所有联系人的姓名都会被用做相关资源里的关键词。
&lt;p&gt;联系人的所有信息均用序列化的关联数组存储，因此信息组织比较自由。
&lt;p&gt;Contacts 支持联系人照片存储，照片的数据存储在 Files 中。
&lt;p&gt;导入程序手机导出的联系人时，处理联系人的照片。导出程序则支持多种格式，完全按照自己的习惯导出，例如为手机导出的联系人的名称可以选择使用“职务，姓名”的格式。
&lt;p&gt;另外，带有生日的联系人的 ID 及生日会提供给 Events，供生日提醒使用。
&lt;p&gt; 
&lt;p&gt;&lt;font size=3&gt;&lt;strong&gt;Events&lt;/strong&gt;&lt;/font&gt;
&lt;p&gt;Events 用于记录各种事件。包括已发生的，将要发生的，固定时间发生的，可能会发生的。
&lt;p&gt;已发生事件主要作回顾用，也可为未来发生的事作一些参考。
&lt;p&gt;将要发生的事件用来作日程安排。
&lt;p&gt;固定时间发生的事件用来作提醒，比如提醒某人哪天过生日。
&lt;p&gt;可能会发生的事件，则是自己的一些猜测，待日期到后看猜测是否准确，纯属消遣。
&lt;p&gt; 
&lt;p&gt;&lt;font size=3&gt;&lt;strong&gt;Files&lt;/strong&gt;&lt;/font&gt;
&lt;p&gt;Files 用于管理文件。它支持虚拟目录（即直接访问 Web 服务器的磁盘）。
&lt;p&gt;照片，文档，音乐，代码等文件均放置其中。各种应用程序可妥善管理。
&lt;p&gt;例如针对照片有在线注释程序，针对音乐有支持歌词同步的播放器。
&lt;p&gt; 
&lt;p&gt;&lt;font size=3&gt;&lt;strong&gt;Resources&lt;/strong&gt;&lt;/font&gt;
&lt;p&gt;Resources 用于查找与处理网络资源。现在可从一些门户网站查找电影、电视及音乐的更新信息。
&lt;p&gt;这样就可以不用关心电影、音乐的相关消息，让程序去发现。自己要做的只是选择对这个资源的处理方式。
&lt;p&gt; 
&lt;p&gt;&lt;strong&gt;&lt;font size=3&gt;Search&lt;/font&gt;&lt;/strong&gt;
&lt;p&gt;Search 用于搜索本地硬盘内的文件，以及系统中的各种信息。
&lt;p&gt; 
&lt;p&gt;&lt;font size=3&gt;&lt;strong&gt;WUSN&lt;/strong&gt;&lt;/font&gt;
&lt;p&gt;WUSN 用于编号与管理资源。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e7%b3%bb%e7%bb%9f%e5%90%84%e7%bb%84%e4%bb%b6%e7%ae%80%e4%bb%8b&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!262.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!262.entry</guid><pubDate>Thu, 23 Mar 2006 13:44:46 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!262/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!262.entry#comment</wfw:comment><dcterms:modified>2006-03-23T15:15:42Z</dcterms:modified></item><item><title>写一下我的系统的构成</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!261.entry</link><description>&lt;p&gt;写一下我的系统的构成，也方便自己看。
&lt;p&gt;整个系统的主旨是 &lt;strong&gt;记录与享受 (Record &amp;amp; Enjoy)&lt;/strong&gt;。包含如下&lt;strong&gt;组件&lt;/strong&gt;：
&lt;p&gt;Commons —— 系统中心
&lt;p&gt;Contacts —— 联系人管理
&lt;p&gt;Events —— 事件记录
&lt;p&gt;Files —— 文件管理
&lt;p&gt;Resources —— 网络资源查找与处理
&lt;p&gt;Search —— 信息搜索
&lt;p&gt;WUSN —— 资源编号与管理
&lt;p&gt;以及如下 &lt;strong&gt;PHP Class&lt;/strong&gt;：
&lt;p&gt;Fast Chinese Word Segmentation —— 快速中文分词，用于 Search，目的是避免一些交叉歧异
&lt;p&gt;Gender Guesser —— 性别猜测，用于 Contacts，目的是导入联系人信息时自动补充性别信息
&lt;p&gt;Specified Strings Picker —— 指定字符串提取，用于 Commons，目的是提取文本中的名人姓名&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e5%86%99%e4%b8%80%e4%b8%8b%e6%88%91%e7%9a%84%e7%b3%bb%e7%bb%9f%e7%9a%84%e6%9e%84%e6%88%90&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!261.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!261.entry</guid><pubDate>Thu, 23 Mar 2006 13:27:32 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!261/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!261.entry#comment</wfw:comment><dcterms:modified>2006-04-02T11:31:28Z</dcterms:modified></item><item><title>又有一段时间没写了</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!248.entry</link><description>&lt;p&gt;对近来遇到的问题做一下总结：
&lt;ol&gt;
&lt;li&gt;设计 passport 时，发现在 Firefox 下提交的 hmac_sha1() 过的数据都是错误的。最后发现是由于属性书写不规范，img 标签中的 src 属性没有值，即“&amp;lt;img src width=...”。为 src 属性加上值后一切正常。
&lt;li&gt;如果设置的 Cookie 的存活期很短，需要特别注意一下。因为设置 Cookie 的头是由服务器发出的，到期时间是由服务器时间加上存活期得到的。如果客户端的时钟比服务器端走的快，而存活期又很短，Cookie 可能会直接过期。
&lt;li&gt;动态加载 CSS 文件可以使用 styleSheet 对象的 addImport 方法。
&lt;li&gt;动态加载 JS 文件可以通过向 HEAD 中添加 defer 属性值为 true 的 script 对象。(&lt;a href="http://www.coolcode.cn/?p=117&amp;amp;pp=2"&gt;See Also&lt;/a&gt;)&lt;/ol&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e5%8f%88%e6%9c%89%e4%b8%80%e6%ae%b5%e6%97%b6%e9%97%b4%e6%b2%a1%e5%86%99%e4%ba%86&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!248.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!248.entry</guid><pubDate>Thu, 09 Feb 2006 04:30:23 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!248/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!248.entry#comment</wfw:comment><dcterms:modified>2006-02-10T16:55:17Z</dcterms:modified></item><item><title>用 PHP 写离线浏览程序</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!247.entry</link><description>&lt;p&gt;借助 XMLHTTP，我们可以很快速地制作一个离线浏览程序。步骤如下：
&lt;p&gt;1. 发送请求，服务器端下载网页代码，生成 MHT 文件的头部信息和首网页的数据并写入文件。解析出所有图片及链接文件的 URL，返回给客户端。
&lt;p&gt;2. 客户端收到 URL 列表后，建立 N 个 XMLHTTP 对象，并依顺序发送请求，补充网页中包含的文件的内容。
&lt;p&gt;3. 所有 URL 处理完毕后，MHT 文件中的数据也已添加完整，离线浏览用的文件就生成了。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e7%94%a8+PHP+%e5%86%99%e7%a6%bb%e7%ba%bf%e6%b5%8f%e8%a7%88%e7%a8%8b%e5%ba%8f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!247.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!247.entry</guid><pubDate>Wed, 25 Jan 2006 07:18:33 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!247/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!247.entry#comment</wfw:comment><dcterms:modified>2006-01-25T07:23:49Z</dcterms:modified></item><item><title>总结</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!244.entry</link><description>&lt;p&gt;对编写 Files 的过程中遇到的问题，总结与记录一下：
&lt;ol&gt;
&lt;li&gt;尽量不要搞特殊。文件名中不能含有 * ? | : &amp;quot; 等字符的常规最好还是要遵守，即使现在不会引起错误。
&lt;li&gt;目录最好单建一个表存储，有利于操作。若只在文件信息的表中记录路径，空文件夹会带来很多问题，通常会使问题变得很复杂。&lt;/ol&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%80%bb%e7%bb%93&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!244.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!244.entry</guid><pubDate>Sun, 22 Jan 2006 09:00:36 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!244/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!244.entry#comment</wfw:comment><dcterms:modified>2006-01-23T14:46:36Z</dcterms:modified></item><item><title>文件系统函数库和目录函数库仿真类基本完成</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!238.entry</link><description>&lt;p&gt;现在支持 basename, copy, dirname, file_exists, file_get_contents, file_put_contents, filemtime, filesize, filetype, is_dir, is_file, is_writable, mkdir, rename, rmdir, unlink, opendir, readdir, closedir, scandir 这些函数。函数的参数及返回值与 PHP 内置的函数基本相同。
&lt;p&gt;数据库部分共使用 4 个表: cache, file_index, file_storage, path_index。其中 cache 表存储缓存，加速列表的速度；file_index 表存储文件索引，包含文件所在文件夹的ID、文件大小、最后修改时间等信息；path_index 表存储文件夹的信息。对于比较小的文件，程序默认将其保存在数据库中，加快读取速度；比较大的文件则保存在磁盘上。均使用 MD5 HASH 值作为标识符。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%96%87%e4%bb%b6%e7%b3%bb%e7%bb%9f%e5%87%bd%e6%95%b0%e5%ba%93%e5%92%8c%e7%9b%ae%e5%bd%95%e5%87%bd%e6%95%b0%e5%ba%93%e4%bb%bf%e7%9c%9f%e7%b1%bb%e5%9f%ba%e6%9c%ac%e5%ae%8c%e6%88%90&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!238.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!238.entry</guid><pubDate>Thu, 19 Jan 2006 13:37:11 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!238/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!238.entry#comment</wfw:comment><dcterms:modified>2006-01-19T13:41:13Z</dcterms:modified></item><item><title>Gender Guesser 已发布</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!220.entry</link><description>&lt;p&gt;Gender Guesser:
&lt;p&gt;&lt;a href="http://www.phpclasses.org/browse/package/2701.html" target="_blank"&gt;http://www.phpclasses.org/browse/package/2701.html&lt;/a&gt;
&lt;p&gt;我在 PHP Classes 发布的所有 Class:
&lt;p&gt;&lt;a href="http://www.phpclasses.org/browse/author/168501.html" target="_blank"&gt;http://www.phpclasses.org/browse/author/168501.html&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+Gender+Guesser+%e5%b7%b2%e5%8f%91%e5%b8%83&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!220.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!220.entry</guid><pubDate>Fri, 11 Nov 2005 23:52:29 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!220/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!220.entry#comment</wfw:comment><dcterms:modified>2005-12-04T09:46:41Z</dcterms:modified></item><item><title>根据姓名判断性别</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!216.entry</link><description>&lt;p&gt;今天从网上收集了 5000 个姓名的性别信息，做了一个程序来根据姓名判断性别。
&lt;p&gt;经过测试，准确率还不错，和人类识别的效果基本相同。过两天有时间发布到 phpclasses.org 上去。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%a0%b9%e6%8d%ae%e5%a7%93%e5%90%8d%e5%88%a4%e6%96%ad%e6%80%a7%e5%88%ab&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!216.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!216.entry</guid><pubDate>Sat, 22 Oct 2005 15:51:58 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!216/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!216.entry#comment</wfw:comment><dcterms:modified>2005-10-22T16:20:48Z</dcterms:modified></item><item><title>使用 AJAX 的同时令浏览器的后退按钮生效</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!208.entry</link><description>&lt;p&gt;在 WUSN 中，我使用 JavaScript 的数组来记录每次请求结果，来实现前进、后退功能。
&lt;p&gt;后来看到 GMail 利用的是浏览器的前进、后退按钮，觉得还是这样操作更自然些。于是利用 Firefox 的 DOM 查看器试图分析 GMail 的机制。无奈其 JavaScript 代码都已进行了降低可读性的处理，而且结构复杂，没有找到它的实现方法。
&lt;p&gt;最后，还是自己想了一个方法来解决，不知是否合适。如果您有更好的方法，欢迎提出来。
&lt;p&gt;以下是我的实现方法：
&lt;p&gt;在主页面的底部增加（注意蓝色部分）：
&lt;blockquote dir=ltr&gt;
&lt;p&gt;&amp;lt;div id=&amp;quot;&lt;strong&gt;obj_act&lt;/strong&gt;&amp;quot; style=&amp;quot;position:absolute;left:-200px;top:-200px;visibility:hidden;&amp;quot; onClick=&amp;quot;if(this.innerText=='R'){action_refresh();}else if(this.innerText=='L'){window.location.reload();}else &lt;font color="#0000ff"&gt;if(this.innerText.substr(0, 8)=='REQUEST:'){request_get(this.innerText.substr(8));}&lt;/font&gt;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br&gt;&amp;lt;div style=&amp;quot;position:absolute;left:-200px;top:-200px;visibility:hidden;&amp;quot;&amp;gt;&lt;font color="#0000ff"&gt;&amp;lt;iframe id=&amp;quot;&lt;strong&gt;obj_his&lt;/strong&gt;&amp;quot; width=&amp;quot;1&amp;quot; height=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/font&gt;&amp;lt;/div&amp;gt;&lt;/blockquote&gt;
&lt;p&gt;每次请求时，改变 obj_his 的 src 属性：
&lt;blockquote dir=ltr&gt;
&lt;p&gt;function request(uri) {&lt;br&gt;    document.all.obj_his.src = &amp;quot;history.php?uri=&amp;quot; + encodeURIComponent(uri);&lt;br&gt;}&lt;/blockquote&gt;
&lt;p&gt;history.php 收到请求后，输出：
&lt;blockquote dir=ltr&gt;
&lt;p&gt;......&lt;br&gt;function act() {&lt;br&gt;    parent.document.all.obj_act.innerText=&amp;quot;REQUEST:&amp;lt;?php echo addslashes($_GET['uri']); ?&amp;gt;&amp;quot;;&lt;br&gt;    parent.document.all.obj_act.click();&lt;br&gt;}&lt;br&gt;......&lt;br&gt;&amp;lt;body onLoad=&amp;quot;act();&amp;quot;&amp;gt;&lt;br&gt;......&lt;/blockquote&gt;
&lt;p&gt;这样，主页面的 obj_act 的 innerText 属性的值就变为了“REQUEST:......”，在触发其 click 事件后将执行 request_get(&amp;quot;...&amp;quot;)，这样便达到了发送请求的目的。
&lt;p&gt;点击浏览器的后退、前进按钮时，操作的其实是 obj_his，而每个 obj_his 中都含有控制主页面请求 URI 的代码。这样就利用了浏览器的前进、后退按钮。
&lt;p&gt;PS，你可能会注意到我是通过 document.all 这个 IE Only 的对象来获得对象的，按照标准应该使用 getElementById()。但是 Contacts 程序本身包含了很多 Web 页对话框，这决定了现阶段这个程序只能在 IE 下使用。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e4%bd%bf%e7%94%a8+AJAX+%e7%9a%84%e5%90%8c%e6%97%b6%e4%bb%a4%e6%b5%8f%e8%a7%88%e5%99%a8%e7%9a%84%e5%90%8e%e9%80%80%e6%8c%89%e9%92%ae%e7%94%9f%e6%95%88&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!208.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!208.entry</guid><pubDate>Tue, 04 Oct 2005 01:46:37 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!208/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!208.entry#comment</wfw:comment><dcterms:modified>2005-10-06T09:17:04Z</dcterms:modified></item><item><title>Contacts 初步完成</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!207.entry</link><description>&lt;p&gt;经过十天，特别是这两天的努力，Contacts 已经初步完成了。别名、重名（消歧异）、排序等问题都已解决，而且联系人信息很灵活，可以随意增减、调序。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+Contacts+%e5%88%9d%e6%ad%a5%e5%ae%8c%e6%88%90&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!207.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!207.entry</guid><pubDate>Mon, 03 Oct 2005 14:44:57 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!207/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!207.entry#comment</wfw:comment><dcterms:modified>2005-10-03T14:45:24Z</dcterms:modified></item><item><title>用序列化的对象存储电话号码等序列数据</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!205.entry</link><description>&lt;p&gt;昨晚背书时突然想到，可以用 serialize() 函数序列化一个存储电话号码的数组对象，将返回的字符串存到数据库中来存储电话号码。这样比另建一个表并通过外键联系高效，程序也容易处理。
&lt;p&gt;另外，用序列化的对象存储信息，也容易扩展。比如某一个联系人需要添加某一个特殊的信息，只要简单地在数组中增加一项就行了，否则可能需要再添加额外的字段。
&lt;p&gt;PS，这个序列化函数也是前天和 &lt;a href="http://www.coolcode.cn"&gt;andot&lt;/a&gt; 聊天时才知道的，以前一直不知道类似“a:2:{i:1;a:6:{s:15:&amp;quot;set_skin_set_id&amp;quot;;……”的字符串是怎么生成的。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e7%94%a8%e5%ba%8f%e5%88%97%e5%8c%96%e7%9a%84%e5%af%b9%e8%b1%a1%e5%ad%98%e5%82%a8%e7%94%b5%e8%af%9d%e5%8f%b7%e7%a0%81%e7%ad%89%e5%ba%8f%e5%88%97%e6%95%b0%e6%8d%ae&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!205.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!205.entry</guid><pubDate>Mon, 26 Sep 2005 09:22:12 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!205/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!205.entry#comment</wfw:comment><dcterms:modified>2005-09-26T09:29:43Z</dcterms:modified></item><item><title>新想法</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!203.entry</link><description>&lt;p&gt;最近又冒出来几个新想法，这样排在队列中的程序就有 Contacts, Commons, Gallery 三个了。
&lt;p&gt;Contacts 就是前几天说的那个联系人管理程序，Commons 是管理共享资源的程序，Gallery 是用来管理图片的。打算 Commons 使用数据库来存储文件，Gallery 的图片直接存在磁盘上。
&lt;p&gt;好像现在有不少好的 Gallery 程序，但是改别人的程序比自己写要累的多，为了以后能根据自己的需要增加功能，决定还是自己写一个。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%96%b0%e6%83%b3%e6%b3%95&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!203.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!203.entry</guid><pubDate>Thu, 22 Sep 2005 09:18:28 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!203/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!203.entry#comment</wfw:comment><dcterms:modified>2005-09-22T09:46:19Z</dcterms:modified></item><item><title>Contacts</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!202.entry</link><description>&lt;p&gt;早就想做一个联系人的管理程序了，但一直懒得动手。现在 Events 基本功能都实现了，记录的事件中含有不少的人名，这就需要一个联系人的程序来配合。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+Contacts&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!202.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!202.entry</guid><pubDate>Mon, 19 Sep 2005 16:00:30 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!202/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!202.entry#comment</wfw:comment><dcterms:modified>2005-09-19T16:00:30Z</dcterms:modified></item><item><title>新的标记语言</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!201.entry</link><description>&lt;p&gt;以前使用的 WPL (Wudi Personal Label) 的扩展性不强，每次增加功能都需要添加新的标签，而且在不同程序的连接上有欠缺。
&lt;p&gt;新的标记语言的语法和 MediaWiki 的类似。外部链接使用[url]，内部链接用[[Namespace:...]]，扩展功能使用{{name|...}}。这样增加新的功能时，只要添加相应的名字空间就行了。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%96%b0%e7%9a%84%e6%a0%87%e8%ae%b0%e8%af%ad%e8%a8%80&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!201.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!201.entry</guid><pubDate>Sat, 17 Sep 2005 15:10:02 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!201/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!201.entry#comment</wfw:comment><dcterms:modified>2005-09-17T15:10:02Z</dcterms:modified></item><item><title>Lexicons for Chinese Word Segmentation</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!191.entry</link><description>&lt;p&gt;Fast Chinese Word Segmentation:
&lt;p&gt;&lt;a href="http://pickup.mofile.com/7207178715932947" target="_blank"&gt;http://pickup.mofile.com/7207178715932947&lt;/a&gt;
&lt;p&gt; 
&lt;p&gt;&lt;span&gt;MP Chinese Word Segmentation:&lt;/span&gt;
&lt;p&gt;&lt;a href="http://pickup.mofile.com/9789759588639069" target="_blank"&gt;http://pickup.mofile.com/9789759588639069&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+Lexicons+for+Chinese+Word+Segmentation&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!191.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!191.entry</guid><pubDate>Wed, 17 Aug 2005 12:43:01 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!191/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!191.entry#comment</wfw:comment><dcterms:modified>2005-08-17T12:57:46Z</dcterms:modified></item><item><title>MP Chinese Word Segmentation v0.02.0</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!189.entry</link><description>&lt;p&gt;&lt;a href="http://www.phpclasses.org/browse/package/2508.html" target="_blank"&gt;http://www.phpclasses.org/browse/package/2508.html&lt;/a&gt;
&lt;p&gt;最大概率法中文分词，审核后就能看到了
&lt;p&gt;PS，发现如果用相同的词库，最大概率分词法和逆向最大匹配法的分词结果差不多只有不到 1% 的地方不同。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+MP+Chinese+Word+Segmentation+v0.02.0&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!189.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!189.entry</guid><pubDate>Thu, 11 Aug 2005 12:12:30 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!189/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!189.entry#comment</wfw:comment><dcterms:modified>2005-08-15T06:04:29Z</dcterms:modified></item><item><title>SCWS 改名</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!188.entry</link><description>&lt;p&gt;Simple Chinese Word Segmentation 改名为 Fast Chinese Word Segmentation
&lt;p&gt;随后发布 &lt;a href="http://www.phpclasses.org/browse/package/2431.html" target="_blank"&gt;Fast Chinese Word Segmentation v0.05.2&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+SCWS+%e6%94%b9%e5%90%8d&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!188.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!188.entry</guid><pubDate>Thu, 11 Aug 2005 12:07:30 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!188/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!188.entry#comment</wfw:comment><dcterms:modified>2005-08-11T12:16:56Z</dcterms:modified></item><item><title>开始研究最大概率法分词</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!187.entry</link><description>&lt;p&gt;现在就是担心速度啊。因为已经发现 Win32 下 Apache + PHP 不能用共享内存函数了。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e5%bc%80%e5%a7%8b%e7%a0%94%e7%a9%b6%e6%9c%80%e5%a4%a7%e6%a6%82%e7%8e%87%e6%b3%95%e5%88%86%e8%af%8d&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!187.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!187.entry</guid><pubDate>Tue, 09 Aug 2005 12:40:54 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!187/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!187.entry#comment</wfw:comment><dcterms:modified>2005-08-09T12:44:50Z</dcterms:modified></item><item><title>Articles</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!186.entry</link><description>&lt;p&gt;上个月月底 Articles 项目就开始了。现在只是简单的列表查看，还没有搜索等功能。通过两个小时的抓取，已有 3 万多篇中学作文。
&lt;p&gt;我打算 Articles 的搜索使用单词索引，这样搜索时能提高速度，结果漏一篇两篇无所谓。
&lt;p&gt;表. 建立索引搜索和直接搜索内容的区别
&lt;table bordercolor="#c0c0c0" cellspacing=0 cellpadding=0 width="100%" border=1&gt;
&lt;tbody&gt;
&lt;tr align=middle&gt;
&lt;td width="50%"&gt;&lt;strong&gt;项目&lt;/strong&gt;
&lt;td width="25%"&gt;&lt;strong&gt;建立索引搜索&lt;/strong&gt;
&lt;td width="25%"&gt;&lt;strong&gt;直接搜索内容&lt;/strong&gt;
&lt;tr&gt;
&lt;td&gt;搜索速度
&lt;td align=middle&gt;非常快
&lt;td align=middle&gt;慢
&lt;tr&gt;
&lt;td&gt;搜索结果
&lt;td align=middle&gt;可能有遗漏
&lt;td align=middle&gt;无遗漏
&lt;tr&gt;
&lt;td&gt;对英文区分大小写
&lt;td align=middle rowspan=2&gt;通常不能
&lt;td align=middle rowspan=2&gt;能
&lt;tr&gt;
&lt;td&gt;精确匹配标点符号&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+Articles&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!186.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!186.entry</guid><pubDate>Mon, 08 Aug 2005 10:36:45 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!186/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!186.entry#comment</wfw:comment><dcterms:modified>2005-08-09T06:07:12Z</dcterms:modified></item><item><title>SmartTemplate?</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!185.entry</link><description>&lt;div&gt;今天看到 MeagerAvenger 发表的评论，让我看看 SmartTemplate。&lt;/div&gt;
&lt;div&gt;其实几天以前我的模板就换成类似 Savant3 的了。自己写的 2KB 左右的类来驱动，觉得这样自定义方便，速度也快。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+SmartTemplate%3f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!185.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!185.entry</guid><pubDate>Tue, 02 Aug 2005 16:13:47 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!185/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!185.entry#comment</wfw:comment><dcterms:modified>2005-08-08T09:02:57Z</dcterms:modified></item><item><title>关于模板引擎</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!182.entry</link><description>&lt;p&gt;今天看了&lt;a href="http://www.phpwact.org/pattern/template_view"&gt;这篇文章（Template View）&lt;/a&gt;后，打算自己开发一个轻型的模板引擎。模板不编译，直接使用 PHP 语言写，这样运行速度快，而且模板书写灵活。
&lt;p&gt;上面提到的那篇文章中，提到这种类型的模板引擎存在的缺点主要是模板设计者可能不会或不喜欢 PHP 语言，而且这样可能不安全。但我自己非常喜欢 PHP 语言，由于程序全是自用的，模板全是自己写，也不存在安全问题。所以觉得用这种方式写模板挺好。
&lt;p&gt;另外再说一句，其实比起那些模板中复杂的语法，我觉得 PHP 的语法真的是非常简单。如果都是初学，PHP 的语法并不一定比 Smarty, Flexy, TinyButStrong 之类模板引擎的语法难学。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e5%85%b3%e4%ba%8e%e6%a8%a1%e6%9d%bf%e5%bc%95%e6%93%8e&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!182.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!182.entry</guid><pubDate>Wed, 27 Jul 2005 16:28:37 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!182/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!182.entry#comment</wfw:comment><dcterms:modified>2005-09-04T16:53:31Z</dcterms:modified></item><item><title>考虑用 Smarty 了</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!180.entry</link><description>&lt;div&gt;最近在开发搜索引擎时，发现现在用的自己写的 2KB 不到的模板引擎（暂时就称作模板引擎吧）越来越不够用了，很多地方需要在 PHP 脚本中混入 HTML 才能实现。&lt;/div&gt;
&lt;div&gt;所以考虑换成 Smarty，虽然效率会低一点，但能使程序代码精简，思路清晰，也值了。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e8%80%83%e8%99%91%e7%94%a8+Smarty+%e4%ba%86&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!180.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!180.entry</guid><pubDate>Mon, 25 Jul 2005 15:40:45 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!180/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!180.entry#comment</wfw:comment><dcterms:modified>2005-07-25T15:40:45Z</dcterms:modified></item><item><title>传几个我的搜索引擎的截图</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!179.entry</link><description>&lt;p&gt;MSN Spaces 对图像的压缩太厉害了，字全是模糊的，所以传到论坛里了。
&lt;p&gt;&lt;a href="http://image.tompda.com/0507/tompda_620127_search_main.gif" target="_blank"&gt;搜索页面&lt;/a&gt;，&lt;a href="http://image.tompda.com/0507/tompda_620128_search_help.gif" target="_blank"&gt;搜索帮助&lt;/a&gt;，&lt;a href="http://image.tompda.com/0507/tompda_620132_search_result.gif" target="_blank"&gt;搜索结果&lt;/a&gt;，&lt;a href="http://image.tompda.com/0507/tompda_620136_search_image.gif" target="_blank"&gt;图像搜索&lt;/a&gt;，&lt;a href="http://image.tompda.com/0507/tompda_620137_search_guess.gif" target="_blank"&gt;Guess 功能&lt;/a&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e4%bc%a0%e5%87%a0%e4%b8%aa%e6%88%91%e7%9a%84%e6%90%9c%e7%b4%a2%e5%bc%95%e6%93%8e%e7%9a%84%e6%88%aa%e5%9b%be&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!179.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!179.entry</guid><pubDate>Mon, 25 Jul 2005 14:16:48 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!179/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!179.entry#comment</wfw:comment><dcterms:modified>2005-07-25T14:18:24Z</dcterms:modified></item><item><title>PHP Class: 简单的中文分词</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!165.entry</link><description>&lt;p&gt;&lt;a href="http://www.phpclasses.org/browse/package/2431.html" target="_blank"&gt;http://www.phpclasses.org/browse/package/2431.html&lt;/a&gt;
&lt;p&gt;由于 phpclasses.org 有单个文件最大 300KB 的限制，所以词典分成了 2 部分。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+PHP+Class%3a+%e7%ae%80%e5%8d%95%e7%9a%84%e4%b8%ad%e6%96%87%e5%88%86%e8%af%8d&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!165.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!165.entry</guid><pubDate>Thu, 21 Jul 2005 13:14:13 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!165/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!165.entry#comment</wfw:comment><dcterms:modified>2005-08-11T12:20:06Z</dcterms:modified></item><item><title>好几天没写代码了</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!164.entry</link><description>&lt;p&gt;这几天一直在忙活 Miranda IM。先是原有 QQ 协议插件不能使用了，必须重装用新的插件。
&lt;p&gt;后来在写维基百科的条目 &lt;a href="http://zh.wikipedia.org/wiki/Miranda_IM" target="_blank"&gt;Miranda IM&lt;/a&gt; 时，从英文维基中看到 Miranda IM 将支持 SQLite 数据库。这下我的搜索引擎中的聊天记录索引部分就可以先放一放了，等支持 SQLite 时再写。
&lt;p&gt;不过也没白忙活，装了 IEView 插件后，虽然内存占用从 12MB 增加到 20MB，但&lt;a href="http://zh.wikipedia.org/wiki/Image:Miranda_4_Message_Window_2.png" target="_blank"&gt;界面&lt;/a&gt;的确漂亮了很多啊~~&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e5%a5%bd%e5%87%a0%e5%a4%a9%e6%b2%a1%e5%86%99%e4%bb%a3%e7%a0%81%e4%ba%86&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!164.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!164.entry</guid><pubDate>Wed, 20 Jul 2005 01:16:17 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!164/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!164.entry#comment</wfw:comment><dcterms:modified>2005-07-20T01:19:24Z</dcterms:modified></item><item><title>phpclasses.org 最近效率怎么这么低</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!161.entry</link><description>&lt;div&gt;我在北京时间 07/12/2005 中午就在 phpclasses.org 发布了我的 Simple Chinese Word Segmentation（&lt;a href="http://www.phpclasses.org/scws"&gt;链接&lt;/a&gt;）。现在都 07/16/2005 了，还没有审核完。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+phpclasses.org+%e6%9c%80%e8%bf%91%e6%95%88%e7%8e%87%e6%80%8e%e4%b9%88%e8%bf%99%e4%b9%88%e4%bd%8e&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!161.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!161.entry</guid><pubDate>Fri, 15 Jul 2005 16:20:21 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!161/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!161.entry#comment</wfw:comment><dcterms:modified>2005-07-15T16:22:34Z</dcterms:modified></item><item><title>找到中文问题的解决办法了</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!154.entry</link><description>&lt;div&gt;在 PHPMyAdmin 中修改字段属性，字符集选 latin1，属性选 BINARY。这样字段的 Collation 就是 latin1_bin 了，问题就解决了。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%89%be%e5%88%b0%e4%b8%ad%e6%96%87%e9%97%ae%e9%a2%98%e7%9a%84%e8%a7%a3%e5%86%b3%e5%8a%9e%e6%b3%95%e4%ba%86&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!154.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!154.entry</guid><pubDate>Wed, 06 Jul 2005 04:55:35 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!154/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!154.entry#comment</wfw:comment><dcterms:modified>2005-07-06T04:55:35Z</dcterms:modified></item><item><title>在编制索引的过程中遇到了麻烦</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!151.entry</link><description>&lt;p&gt;MySQL 默认认为 “土人” == “外人” == “下人”，因此，当其中任意一个插入到词汇表中后，其他两个便无法插入了（`word_text` 有唯一性）。
&lt;p&gt;无论怎么改字符集，都没有作用，插入的数据还会出现乱码。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e5%9c%a8%e7%bc%96%e5%88%b6%e7%b4%a2%e5%bc%95%e7%9a%84%e8%bf%87%e7%a8%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e9%ba%bb%e7%83%a6&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!151.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!151.entry</guid><pubDate>Tue, 05 Jul 2005 14:30:33 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!151/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!151.entry#comment</wfw:comment><dcterms:modified>2005-07-05T14:32:04Z</dcterms:modified></item><item><title>我的桌面搜索系统</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!147.entry</link><description>&lt;p&gt;中文分词想做到这样就差不多了，毕竟是自己用。目的就是搜索“土人”不要把“风土人情”相关的内容搜出来就行。
&lt;p&gt;接下来该做英文分词了。也不管动词时态和名词复数等问题了，能分开就行。因为全英文的数据基本都是程序代码。
&lt;p&gt;把中英文分词都做完后，就该考虑如何建立索引了。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%88%91%e7%9a%84%e6%a1%8c%e9%9d%a2%e6%90%9c%e7%b4%a2%e7%b3%bb%e7%bb%9f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!147.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!147.entry</guid><pubDate>Mon, 04 Jul 2005 11:49:06 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!147/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!147.entry#comment</wfw:comment><dcterms:modified>2005-07-04T11:51:15Z</dcterms:modified></item><item><title>第三次修改后中文分词程序的分词速度</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!146.entry</link><description>&lt;p&gt;程序改动：不使用 PHP 中的 Multi-Byte String 函数，自己判断汉字
&lt;p&gt;分词方法：逆向最大匹配分词法，只对中文字符进行分词
&lt;p&gt;词库大小：73,226 个词
&lt;p&gt;编写语言：PHP
&lt;p&gt;分词速度：
&lt;p&gt;99% 中文 —— 211 KB —— 2s —— 105.50KB/s (+ 92.32KB/s)
&lt;p&gt;45% 中文 —— 2, 100 KB —— 22s —— 95.45KB/s (+ 66.69KB/s)
&lt;p&gt;00% 中文 —— 413 KB —— 6s —— 68.83KB/s (+ 9.83KB/s)&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e7%ac%ac%e4%b8%89%e6%ac%a1%e4%bf%ae%e6%94%b9%e5%90%8e%e4%b8%ad%e6%96%87%e5%88%86%e8%af%8d%e7%a8%8b%e5%ba%8f%e7%9a%84%e5%88%86%e8%af%8d%e9%80%9f%e5%ba%a6&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!146.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!146.entry</guid><pubDate>Mon, 04 Jul 2005 07:06:48 GMT</pubDate><slash:comments>3</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!146/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!146.entry#comment</wfw:comment><dcterms:modified>2005-07-04T10:12:00Z</dcterms:modified></item><item><title>我的中文分词程序现在存在的主要问题</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!126.entry</link><description>&lt;p&gt;为了避免出现乱码，我的中文分词程序使用了 PHP 中的 Multi-Byte String 函数。先通过 mb_strlen() 函数取得字符串的长度，然后利用 mb_substr() 把每个字符都存到一个数组里，再进行匹配。
&lt;p&gt;这样效率就会降低很多。如果不使用 Multi-Byte String 函数，而是逐个判断每个字符是单字节还是双字节的，效率应该可以提高不少。
&lt;p&gt;待有时间再研究汉字编码吧。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%88%91%e7%9a%84%e4%b8%ad%e6%96%87%e5%88%86%e8%af%8d%e7%a8%8b%e5%ba%8f%e7%8e%b0%e5%9c%a8%e5%ad%98%e5%9c%a8%e7%9a%84%e4%b8%bb%e8%a6%81%e9%97%ae%e9%a2%98&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!126.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!126.entry</guid><pubDate>Sat, 02 Jul 2005 11:41:07 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!126/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!126.entry#comment</wfw:comment><dcterms:modified>2005-07-02T11:42:21Z</dcterms:modified></item><item><title>第二次修改后中文分词程序的分词速度</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!120.entry</link><description>&lt;div&gt;
&lt;p&gt;分词方法：逆向最大匹配分词法，只对中文字符进行分词
&lt;p&gt;词库大小：73,226 个词（增加了 29,289 个词，但去除了单字和四字以上的词语）
&lt;p&gt;编写语言：PHP
&lt;p&gt;分词速度：
&lt;p&gt;99% 中文 —— 211 KB —— 16s —— 13.18KB/s (+ 10.08KB/s)
&lt;p&gt;45% 中文 —— 2, 100 KB —— 73s —— 28.76KB/s (+ 23.82KB/s)
&lt;p&gt;00% 中文 —— 413 KB —— 7s —— 59.00KB/s (- 9.83KB/s)&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e7%ac%ac%e4%ba%8c%e6%ac%a1%e4%bf%ae%e6%94%b9%e5%90%8e%e4%b8%ad%e6%96%87%e5%88%86%e8%af%8d%e7%a8%8b%e5%ba%8f%e7%9a%84%e5%88%86%e8%af%8d%e9%80%9f%e5%ba%a6&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!120.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!120.entry</guid><pubDate>Sat, 02 Jul 2005 04:31:14 GMT</pubDate><slash:comments>1</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!120/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!120.entry#comment</wfw:comment><dcterms:modified>2005-07-02T04:41:48Z</dcterms:modified></item><item><title>我的中文分词程序的分词速度</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!114.entry</link><description>&lt;p&gt;分词方法：逆向最大匹配分词法，只对中文字符进行分词 &lt;p&gt;词库大小：43, 937 个词或单字 &lt;p&gt;编写语言：PHP &lt;p&gt;分词速度： &lt;p&gt;99% 中文 —— 211 KB —— 68s —— 3.10 KB/s &lt;p&gt;45% 中文 —— 2, 100 KB —— 425s —— 4.94 KB/s &lt;p&gt;00% 中文 —— 413 KB —— 6s —— 68.83 KB/s&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%88%91%e7%9a%84%e4%b8%ad%e6%96%87%e5%88%86%e8%af%8d%e7%a8%8b%e5%ba%8f%e7%9a%84%e5%88%86%e8%af%8d%e9%80%9f%e5%ba%a6&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!114.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!114.entry</guid><pubDate>Sun, 19 Jun 2005 09:00:22 GMT</pubDate><slash:comments>5</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!114/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!114.entry#comment</wfw:comment><dcterms:modified>2005-06-19T09:30:31Z</dcterms:modified></item><item><title>逆向最大匹配分词法分词结果</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!113.entry</link><description>&lt;p&gt;刚才又试了一下逆向最大匹配分词法，结果比正向的要好：  &lt;p&gt;&lt;font color="#339999"&gt;今天 在 中文 维 基 百科 搜索 “ 土人 ” ， 没有 匹配 的 条目 。 搜索 “ 风土人情 ” ， 找 到 了 徐 霞 客 这 一 条目 ， 其 内容 含有 “ ... 业 、 手工业 、 交通 运输 、 名胜 古迹 、 风土人情 ， 仍然 具有 很 高 的 科学 和 文学 价值 。 ”&lt;/font&gt; &lt;p&gt;&lt;font color="#339999"&gt;看来 中文 维 基 百科 使用 了 中文 分词 技术 ， 但 不知 是 zh.wikipedia.org 自己 增加 的 独有 功能 还是 MediaWiki 中 就 有的 功能 。 如果 MediaWiki 中 就 有 此 技术 ， 那么 假期 时 就 可以 参考 一下 它 的 程序 了 。&lt;/font&gt; &lt;p&gt;&lt;font color="#339999"&gt;不过 话说 回来 ， 除了 搜索 引擎 ， 很少 有 搜索 有 中文 自动 分词 技术 的 ， 做 不成 这个 功能 也 无所谓 。&lt;/font&gt; &lt;p&gt;&lt;font color="#339999"&gt;后记 ： 在 自己 机器 上装 的 MediaWiki 上 测试 了 一下 ， 结果 是 — — 不 支持 中文 自动 分词 。&lt;/font&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e9%80%86%e5%90%91%e6%9c%80%e5%a4%a7%e5%8c%b9%e9%85%8d%e5%88%86%e8%af%8d%e6%b3%95%e5%88%86%e8%af%8d%e7%bb%93%e6%9e%9c&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!113.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!113.entry</guid><pubDate>Sat, 18 Jun 2005 17:29:26 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!113/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!113.entry#comment</wfw:comment><dcterms:modified>2005-06-19T09:04:08Z</dcterms:modified></item><item><title>试着写了一个中文分词程序</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!112.entry</link><description>&lt;p&gt;可以把上个日志项分成这样： &lt;p&gt;&lt;font color="#339999"&gt;今天 在 中文 维 基 百科 搜索 “ 土人 ” ， 没有 匹配 的 条目 。 搜索 “ 风土 人情 ” ， 找 到 了 徐 霞 客 这 一 条目 ， 其 内容 含有 “ ...业 、 手工 业 、 交通 运输 、 名胜 古迹 、 风土 人情 ， 仍然 具有 很 高 的 科学 和文 学 价值 。 ” &lt;/font&gt; &lt;p&gt;&lt;font color="#339999"&gt;看来 中文 维 基 百科 使用 了 中文 分词 技术 ， 但 不知 是  zh.wikipedia.org 自己 增加 的 独有 功能 还是  MediaWiki 中 就 有的 功能 。 如果  MediaWiki 中 就 有 此 技术 ， 那么 假期 时 就 可以 参考 一下 它 的 程序 了 。 &lt;/font&gt; &lt;p&gt;&lt;font color="#339999"&gt;不过 话说 回来 ， 除了 搜索 引擎 ， 很少 有 搜索 有 中文 自动 分词 技术 的 ， 做 不成 这个 功能 也 无所谓 。 &lt;/font&gt; &lt;p&gt;&lt;font color="#339999"&gt;后记 ： 在 自己 机器 上装 的  MediaWiki 上 测试 了 一下 ， 结果 是 — — 不支 持 中文 自动 分词 。 &lt;/font&gt; &lt;p&gt;由于用的是正向最大匹配分词法，所以效果不是很好。现在用的词库有 43932 个词。将来再改进一下算法吧。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e8%af%95%e7%9d%80%e5%86%99%e4%ba%86%e4%b8%80%e4%b8%aa%e4%b8%ad%e6%96%87%e5%88%86%e8%af%8d%e7%a8%8b%e5%ba%8f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!112.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!112.entry</guid><pubDate>Sat, 18 Jun 2005 16:17:18 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!112/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!112.entry#comment</wfw:comment><dcterms:modified>2005-06-18T16:17:18Z</dcterms:modified></item><item><title>中文维基百科的搜索</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!111.entry</link><description>&lt;p&gt;今天在&lt;a href="http://zh.wikipedia.org/"&gt;中文维基百科&lt;/a&gt;&lt;a href="http://zh.wikipedia.org/wiki/Special:Search?search=%E5%9C%9F%E4%BA%BA"&gt;搜索“土人”&lt;/a&gt;，没有匹配的条目。&lt;a href="http://zh.wikipedia.org/wiki/Special:Search?search=%E9%A3%8E%E5%9C%9F%E4%BA%BA%E6%83%85"&gt;搜索“风土人情”&lt;/a&gt;，找到了徐霞客这一条目，其内容含有“...业、手工业、交通运输、名胜古迹、&lt;strong&gt;风土人情&lt;/strong&gt;，仍然具有很高的科学和文学价值。” &lt;p&gt;看来中文维基百科使用了中文分词技术，但不知是 zh.wikipedia.org 自己增加的独有功能还是 MediaWiki 中就有的功能。如果 MediaWiki 中就有此技术，那么假期时就可以参考一下它的程序了。 &lt;p&gt;不过话说回来，除了搜索引擎，很少有搜索有中文自动分词技术的，做不成这个功能也无所谓。 &lt;p&gt;后记：在自己机器上装的 MediaWiki 上测试了一下，结果是——不支持中文自动分词。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e4%b8%ad%e6%96%87%e7%bb%b4%e5%9f%ba%e7%99%be%e7%a7%91%e7%9a%84%e6%90%9c%e7%b4%a2&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!111.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!111.entry</guid><pubDate>Sat, 18 Jun 2005 02:58:49 GMT</pubDate><slash:comments>0</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!111/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!111.entry#comment</wfw:comment><dcterms:modified>2005-06-18T03:16:05Z</dcterms:modified></item><item><title>中文分词技术</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!110.entry</link><description>&lt;p&gt;刚才搜索了一下“PHP 搜索引擎”，发现了很多搜索方面的难题。
&lt;p&gt;现在中文自动分词技术只有一些专门研究这种技术的公司有，而且很少有公开源代码的，更别说用 PHP 写的了。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e4%b8%ad%e6%96%87%e5%88%86%e8%af%8d%e6%8a%80%e6%9c%af&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!110.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!110.entry</guid><pubDate>Fri, 17 Jun 2005 09:23:28 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!110/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!110.entry#comment</wfw:comment><dcterms:modified>2005-07-04T14:14:23Z</dcterms:modified></item><item><title>我的桌面搜索系统</title><link>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!109.entry</link><description>&lt;p&gt;最近有个计划，就是开发自己的桌面搜索系统。一是不会泄漏自己的信息，二是可以为自己量身定做。 &lt;p&gt;&lt;a href="http://desktop.google.com/"&gt;Google 桌面搜索&lt;/a&gt;可以处理 &lt;a href="http://www.qq.com/"&gt;QQ&lt;/a&gt;, &lt;a href="http://www.msn.com.cn/"&gt;MSN Messenger&lt;/a&gt; 及 &lt;a href="http://www.aim.com/"&gt;AOL Instant Messenger&lt;/a&gt; 的聊天记录。但是我哪个程序都不用，而是用 &lt;a href="http://www.miranda-im.org/"&gt;Miranda IM&lt;/a&gt; 这个即时通讯软件，只要有协议的插件，就能支持。如果我自己开发桌面搜索系统，就可以把它加到索引范围里。 &lt;p&gt;Google 桌面搜索支持的邮件客户端有 Outlook Email, Outlook Express, Netscape Mail 和 Thunderbird。很可惜，我用的是 Google 不支持的 &lt;a href="http://www.rimarts.co.jp/becky.htm"&gt;Becky! Internet Mail&lt;/a&gt;。 &lt;p&gt;还有，我从去年夏天开始就抛弃 Microsoft Office，转向 &lt;a href="http://www.openoffice.org/"&gt;OpenOffice.org&lt;/a&gt; 了。一是因为 Microsoft Office 很贵；二是因为从 Microsoft Office XP 开始，我感觉 Microsoft Office 越来越臃肿了，界面看着也没有 2000 那么舒服；三是 Microsoft Office 文件的专有格式是不公开的。很可惜，Google 现在还不支持 OpenOffice.org 的专有格式。不过 OpenOffice.org 2.0 里的默认使用的文档格式是 Open Document，将来 Google 很有可能会支持这种开放的、规范的文档格式。 &lt;p&gt;虽然我自己一个人写出来的搜索系统不如 Google 桌面搜索，但是因为用 Google 桌面搜索对我来说在软件支持及自定义方面有种种不便，所以我必须开发适合我自己的搜索系统。 &lt;p&gt;Miranda IM 是开源软件，而且我用 Ultra Edit 看了看它的数据文件，应该能读取它的聊天记录。Becky 的邮件索引文件格式也比较简单。现在已经有了很多 Perl 的模块来解析 OpenOffice.org 的文档，PHP 的我还不太清楚。不过文档格式是开放的，问题就好解决多了。 &lt;p&gt;最后说一下 Torrent 文件的解析。昨天在网上搜，发现了一个为 &lt;a href="http://www.discuz.com/"&gt;Discuz!&lt;/a&gt; 设计的解析 BT 文件的插件。但是下载下来一看，发现它是用 Zend Encoder 编译过的，就没什么参考价值了。于是又在国外找，发现了一个德国人写的 &lt;a href="http://developer.berlios.de/projects/torrentparse/"&gt;TorrentParse&lt;/a&gt;，用了一下，效果很好，就是感觉解析的稍微有点慢。TorrentParse - PHP 现在的最后更新时间是 2005-01-24。 &lt;p&gt;不过这一切目前还只是计划，需要等到 7 月 3 日考完试以后再做。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-7069490911547799830&amp;page=RSS%3a+%e6%88%91%e7%9a%84%e6%a1%8c%e9%9d%a2%e6%90%9c%e7%b4%a2%e7%b3%bb%e7%bb%9f&amp;referrer=" width="1px" height="1px" border="0" alt=""&gt;&lt;img style="position:absolute" alt="" width="0px" height="0px" src="http://c.live.com/c.gif?NC=31263&amp;amp;NA=1149&amp;amp;PI=73329&amp;amp;RF=&amp;amp;DI=3919&amp;amp;PS=85545&amp;amp;TP=wudicgi.spaces.live.com&amp;amp;GT1=wudicgi"&gt;</description><comments>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!109.entry#comment</comments><guid isPermaLink="true">http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!109.entry</guid><pubDate>Wed, 15 Jun 2005 09:49:42 GMT</pubDate><slash:comments>2</slash:comments><msn:type>blogentry</msn:type><live:type>blogentry</live:type><live:typelabel>Blog entry</live:typelabel><wfw:commentRss>http://wudicgi.spaces.live.com/blog/cns!9DE41F78C25746EA!109/comments/feed.rss</wfw:commentRss><wfw:comment>http://wudicgi.spaces.live.com/Blog/cns!9DE41F78C25746EA!109.entry#comment</wfw:comment><dcterms:modified>2005-06-18T17:23:32Z</dcterms:modified></item></channel></rss>