<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='http://miaomin.spaces.live.com/mmm2008-07-24_12.50/rsspretty.aspx?rssquery=en-US;http%3a%2f%2fmiaomin.spaces.live.com%2fcategory%2fPHP__xa5HTML%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>苗苗 合作 交流: PHP/HTML</title><description /><link>http://miaomin.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&amp;_c=BlogPart&amp;partqs=catPHP__xa5HTML</link><language>en-US</language><pubDate>Mon, 03 Sep 2007 03:40:18 GMT</pubDate><lastBuildDate>Mon, 03 Sep 2007 03:40:18 GMT</lastBuildDate><generator>Microsoft Spaces v1.1</generator><docs>http://www.rssboard.org/rss-specification</docs><ttl>60</ttl><cf:parentRSS>http://miaomin.spaces.live.com/blog/feed.rss</cf:parentRSS><live:type>blogcategory</live:type><live:identity><live:id>-8913911617972053559</live:id><live:alias>miaomin</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>smarttemplate之$tpl-&gt;result()问题解决一例</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!334.entry</link><description>&lt;div&gt;
&lt;div&gt;&lt;font size=4&gt;最近在用SmartTemplate开发,起初一直都很顺利,什么控制流,什么array,但是今天碰到模板嵌套就郁闷了,按照网上的方法始终不行.在使用了$tpl-&amp;gt;result()之后的变量都不能替换了.&lt;br&gt;最后搜到的解决办法是:要将class.smarttemplate.php里面的unset ($_top);改为unset ($GLOBALS[’_top’]);才可以&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font size=4&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#ff0000" size=4&gt;注: 我的Smarttemplate 1.0.2的版本,原文就是unset ($GLOBALS[’_top’]); 无须做任何修改.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+smarttemplate%e4%b9%8b%24tpl-%3eresult()%e9%97%ae%e9%a2%98%e8%a7%a3%e5%86%b3%e4%b8%80%e4%be%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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!334.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!334.entry</guid><pubDate>Fri, 08 Sep 2006 03:40: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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!334/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!334.entry#comment</wfw:comment><dcterms:modified>2006-09-08T03:40:07Z</dcterms:modified></item><item><title>XML分析器 by CSDN唠叨</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!309.entry</link><description>&amp;lt;?php&lt;br&gt;define(XMLNAME,&amp;quot;t.xml&amp;quot;);&lt;br&gt;$fp = fopen (XMLNAME,&amp;quot;r&amp;quot;);&lt;br&gt;$content = fread($fp,filesize(XMLNAME));&lt;br&gt;&lt;br&gt;$x = new xml;&lt;br&gt;$a = $x-&amp;gt;parse($content);&lt;br&gt;&lt;br&gt;echo &amp;quot;&amp;lt;pre&amp;gt;&amp;quot;;&lt;br&gt;print_r($a);&lt;br&gt;echo &amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;;&lt;br&gt;&lt;br&gt;class xml {&lt;br&gt;    var $tm = array();&lt;br&gt;    var $xml_parser;&lt;br&gt;    var $data = array();&lt;br&gt;    var $element = &amp;quot;&amp;quot;; // 当前节点&lt;br&gt;    var $stack = array(); // 缓存当前标头的相关参数&lt;br&gt;    var $type;&lt;br&gt;&lt;br&gt;    function trustedFile($file) {&lt;br&gt;        // only trust local files owned by ourselves&lt;br&gt;        if (!eregi(&amp;quot;^([a-z]+)://&amp;quot;, $file) &amp;amp;&amp;amp; fileowner($file) == getmyuid()) {&lt;br&gt;            return true;&lt;br&gt;        }&lt;br&gt;        return false;&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    //处理元素的开始标头&lt;br&gt;    function startElement($parser, $name, $attribs) {&lt;br&gt;        if($this-&amp;gt;element != &amp;quot;&amp;quot;) {&lt;br&gt;            array_push($this-&amp;gt;stack,$this-&amp;gt;element);&lt;br&gt;        }&lt;br&gt;        $this-&amp;gt;element = array(Name =&amp;gt; $name);&lt;br&gt;        if(sizeof($attribs)) {&lt;br&gt;            $this-&amp;gt;element[Attribute] = $attribs;&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    //处理元素的结束标头&lt;br&gt;    function endElement($parser, $name) {&lt;br&gt;        $element = array_pop($this-&amp;gt;stack);&lt;br&gt;        if(is_array($element)) {&lt;br&gt;            $element[Element][] = $this-&amp;gt;element;&lt;br&gt;            $this-&amp;gt;element = $element;&lt;br&gt;        }else {&lt;br&gt;            $this-&amp;gt;data[Root] = $this-&amp;gt;element;&lt;br&gt;            $this-&amp;gt;element = &amp;quot;&amp;quot;;&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    //处理字元资料标头&lt;br&gt;    function characterData($parser, $data) {&lt;br&gt;        $data = eregi_replace(&amp;quot;^ +&amp;quot;,&amp;quot;&amp;quot;,$data);&lt;br&gt;        $data = eregi_replace(&amp;quot;^\n+&amp;quot;,&amp;quot;&amp;quot;,$data);&lt;br&gt;        if(strlen($data) &amp;gt; 0) {&lt;br&gt;            $this-&amp;gt;element[Text] .= $data;&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    function parse($data) {&lt;br&gt;        $this-&amp;gt;xml_parser = xml_parser_create();&lt;br&gt;        xml_set_object($this-&amp;gt;xml_parser, &amp;amp;$this); //使 XML 剖析器用对象&lt;br&gt;&lt;br&gt;        xml_parser_set_option($this-&amp;gt;xml_parser, XML_OPTION_CASE_FOLDING, 1);&lt;br&gt;        xml_set_element_handler($this-&amp;gt;xml_parser, &amp;quot;startElement&amp;quot;, &amp;quot;endElement&amp;quot;);&lt;br&gt;        xml_set_character_data_handler($this-&amp;gt;xml_parser, &amp;quot;characterData&amp;quot;);&lt;br&gt;&lt;br&gt;        $this-&amp;gt;type = xml_parser_get_option($this-&amp;gt;xml_parser, XML_OPTION_CASE_FOLDING);&lt;br&gt;        if(is_file($data)) {&lt;br&gt;            if(!($fp = @fopen($file, &amp;quot;r&amp;quot;))) {&lt;br&gt;                echo &amp;quot;文件不存在&amp;quot;;&lt;br&gt;                return false;&lt;br&gt;            }&lt;br&gt;            while($data = fread($fp, 4096)) {&lt;br&gt;                if(!xml_parse($this-&amp;gt;xml_parser, $data, feof($fp))) {&lt;br&gt;                    printf(&amp;quot;XML error: %s at line %d\n&amp;quot;,&lt;br&gt;                    xml_error_string(xml_get_error_code($xml_parser)),&lt;br&gt;                    xml_get_current_line_number($xml_parser));&lt;br&gt;                    return false;&lt;br&gt;                }&lt;br&gt;            }&lt;br&gt;        }else {&lt;br&gt;            if(!xml_parse($this-&amp;gt;xml_parser, $data)) {&lt;br&gt;                printf(&amp;quot;XML error: %s at line %d\n&amp;quot;,&lt;br&gt;                xml_error_string(xml_get_error_code($xml_parser)),&lt;br&gt;                xml_get_current_line_number($xml_parser));&lt;br&gt;                return false;&lt;br&gt;            }&lt;br&gt;        }&lt;br&gt;        xml_parser_free($this-&amp;gt;xml_parser);&lt;br&gt;        return $this-&amp;gt;data;&lt;br&gt;    }&lt;br&gt;}&lt;br&gt;?&amp;gt;&lt;br&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+XML%e5%88%86%e6%9e%90%e5%99%a8+by+CSDN%e5%94%a0%e5%8f%a8&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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!309.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!309.entry</guid><pubDate>Thu, 20 Apr 2006 08:44:15 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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!309/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!309.entry#comment</wfw:comment><dcterms:modified>2006-04-20T08:44:15Z</dcterms:modified></item><item><title>RSS生成类</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!307.entry</link><description>&amp;lt;?php &lt;br&gt;&lt;br&gt;if (defined('_CLASS_RSS_PHP')) return;&lt;br&gt;define('_CLASS_RSS_PHP',1);&lt;br&gt;/**&lt;br&gt; *  Class name: RSS&lt;br&gt; *  Author    : RedFox&lt;br&gt; *  website   : http://www.foxbat.cn/  &lt;br&gt; *  blog      : http://redsoft.yculblog.com/&lt;br&gt; *  CopyRight : RedFox (singlecat@163.com)&lt;br&gt; */&lt;br&gt;&lt;br&gt;&lt;br&gt;class RSS {&lt;br&gt;   //public&lt;br&gt;   var $rss_ver = &amp;quot;2.0&amp;quot;;&lt;br&gt;   var $channel_title = '';&lt;br&gt;   var $channel_link = '';&lt;br&gt;   var $channel_description = '';&lt;br&gt;   var $language = 'zh_CN';&lt;br&gt;   var $copyright = '';&lt;br&gt;   var $webMaster = '';&lt;br&gt;   var $pubDate = '';&lt;br&gt;   var $lastBuildDate = '';&lt;br&gt;   var $generator = 'RedFox RSS Generator';&lt;br&gt;&lt;br&gt;   var $content = '';&lt;br&gt;   var $items = array();&lt;br&gt;&lt;br&gt;   function RSS($title, $link, $description) {&lt;br&gt;       $this-&amp;gt;channel_title = $title;&lt;br&gt;       $this-&amp;gt;channel_link = $link;&lt;br&gt;       $this-&amp;gt;channel_description = $description;&lt;br&gt;       $this-&amp;gt;pubDate = Date('Y-m-d H:i:s',time());&lt;br&gt;       $this-&amp;gt;lastBuildDate = Date('Y-m-d H:i:s',time());&lt;br&gt;   }&lt;br&gt;&lt;br&gt;   function AddItem($title, $link, $description ,$pubDate) {&lt;br&gt;       $this-&amp;gt;items[] = array('title' =&amp;gt; $title ,&lt;br&gt;                        'link' =&amp;gt; $link,&lt;br&gt;                        'description' =&amp;gt; $description, &lt;br&gt;                        'pubDate' =&amp;gt; $pubDate);&lt;br&gt;   }&lt;br&gt;&lt;br&gt;   function BuildRSS() {&lt;br&gt;       $s = &amp;quot;&amp;lt;?xml version=\&amp;quot;1.0\&amp;quot; encoding=\&amp;quot;gb2312\&amp;quot; ?&amp;gt;\n&amp;lt;rss version=\&amp;quot;2.0\&amp;quot;&amp;gt;\n&amp;quot;;&lt;br&gt;       // start channel&lt;br&gt;       $s .= &amp;quot;&amp;lt;channel&amp;gt;\n&amp;quot;;&lt;br&gt;       $s .= &amp;quot;&amp;lt;title&amp;gt;&amp;lt;![CDATA[{$this-&amp;gt;channel_title}]]&amp;gt;&amp;lt;/title&amp;gt;\n&amp;quot;;&lt;br&gt;       $s .= &amp;quot;&amp;lt;link&amp;gt;&amp;lt;![CDATA[{$this-&amp;gt;channel_link}]]&amp;gt;&amp;lt;/link&amp;gt;\n&amp;quot;;&lt;br&gt;       $s .= &amp;quot;&amp;lt;description&amp;gt;&amp;lt;![CDATA[{$this-&amp;gt;channel_description}]]&amp;gt;&amp;lt;/description&amp;gt;\n&amp;quot;;&lt;br&gt;       $s .= &amp;quot;&amp;lt;language&amp;gt;{$this-&amp;gt;language}&amp;lt;/language&amp;gt;\n&amp;quot;;&lt;br&gt;       if (!empty($this-&amp;gt;copyright)) {&lt;br&gt;          $s .= &amp;quot;&amp;lt;copyright&amp;gt;&amp;lt;![CDATA[{$this-&amp;gt;copyright}]]&amp;gt;&amp;lt;/copyright&amp;gt;\n&amp;quot;;&lt;br&gt;       }&lt;br&gt;       if (!empty($this-&amp;gt;webMaster)) {&lt;br&gt;          $s .= &amp;quot;&amp;lt;webMaster&amp;gt;&amp;lt;![CDATA[{$this-&amp;gt;webMaster}]]&amp;gt;&amp;lt;/webMaster&amp;gt;\n&amp;quot;;&lt;br&gt;       }&lt;br&gt;       if (!empty($this-&amp;gt;pubDate)) {&lt;br&gt;          $s .= &amp;quot;&amp;lt;pubDate&amp;gt;{$this-&amp;gt;pubDate}&amp;lt;/pubDate&amp;gt;\n&amp;quot;;&lt;br&gt;       }&lt;br&gt;&lt;br&gt;       if (!empty($this-&amp;gt;lastBuildDate)) {&lt;br&gt;          $s .= &amp;quot;&amp;lt;lastBuildDate&amp;gt;{$this-&amp;gt;lastBuildDate}&amp;lt;/lastBuildDate&amp;gt;\n&amp;quot;;&lt;br&gt;       }&lt;br&gt;&lt;br&gt;       if (!empty($this-&amp;gt;generator)) {&lt;br&gt;          $s .= &amp;quot;&amp;lt;generator&amp;gt;{$this-&amp;gt;generator}&amp;lt;/generator&amp;gt;\n&amp;quot;;&lt;br&gt;       }&lt;br&gt;       &lt;br&gt;       // start items&lt;br&gt;       for ($i=0;$i&amp;lt;count($this-&amp;gt;items);$i++) {&lt;br&gt;           $s .= &amp;quot;&amp;lt;item&amp;gt;\n&amp;quot;;&lt;br&gt;           $s .= &amp;quot;&amp;lt;title&amp;gt;&amp;lt;![CDATA[{$this-&amp;gt;items[$i]['title']}]]&amp;gt;&amp;lt;/title&amp;gt;\n&amp;quot;;&lt;br&gt;           $s .= &amp;quot;&amp;lt;link&amp;gt;&amp;lt;![CDATA[{$this-&amp;gt;items[$i]['link']}]]&amp;gt;&amp;lt;/link&amp;gt;\n&amp;quot;;&lt;br&gt;           $s .= &amp;quot;&amp;lt;description&amp;gt;&amp;lt;![CDATA[{$this-&amp;gt;items[$i]['description']}]]&amp;gt;&amp;lt;/description&amp;gt;\n&amp;quot;;&lt;br&gt;           $s .= &amp;quot;&amp;lt;pubDate&amp;gt;{$this-&amp;gt;items[$i]['pubDate']}&amp;lt;/pubDate&amp;gt;\n&amp;quot;;           &lt;br&gt;           $s .= &amp;quot;&amp;lt;/item&amp;gt;\n&amp;quot;;&lt;br&gt;       }&lt;br&gt;      &lt;br&gt;      // close channel&lt;br&gt;      $s .= &amp;quot;&amp;lt;/channel&amp;gt;\n&amp;lt;/rss&amp;gt;&amp;quot;;&lt;br&gt;      $this-&amp;gt;content = $s;&lt;br&gt;   }&lt;br&gt;&lt;br&gt;   function Show() {&lt;br&gt;       if (empty($this-&amp;gt;content)) $this-&amp;gt;BuildRSS();&lt;br&gt;       echo($this-&amp;gt;content);&lt;br&gt;   }&lt;br&gt;&lt;br&gt;   function SaveToFile($fname) {&lt;br&gt;       $handle = fopen($fname, 'wb');&lt;br&gt;       if ($handle === false)  return false;&lt;br&gt;       fwrite($handle, $this-&amp;gt;content);&lt;br&gt;       fclose($handle);&lt;br&gt;   }&lt;br&gt;}&lt;br&gt;&lt;br&gt;?&amp;gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+RSS%e7%94%9f%e6%88%90%e7%b1%bb&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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!307.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!307.entry</guid><pubDate>Fri, 14 Apr 2006 03: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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!307/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!307.entry#comment</wfw:comment><dcterms:modified>2006-04-14T03:00:30Z</dcterms:modified></item><item><title>在任意字符集下正常显示网页的方法（续）</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!302.entry</link><description>&lt;p&gt; 
			&lt;a href="http://www.coolcode.cn/?m=20050520"&gt;2005-05-20&lt;/a&gt; @ 10:50:54 
			· 作者 &lt;a href="http://www.coolcode.cn/?author=2" title="andot的文章"&gt;andot&lt;/a&gt;			· 归类于 &lt;a href="http://www.coolcode.cn/?cat=2" title="显示PHP的所有文章" rel="category tag"&gt;PHP&lt;/a&gt;						

			
			&lt;p&gt;&lt;strong style="color:red"&gt;原创作品，转载请注明出处。&lt;/strong&gt;
&lt;p&gt;前几天写了一篇&lt;a href="http://www.coolcode.cn/?p=5"&gt;在任意字符集下正常显示网页的方法&lt;/a&gt;，里面介绍的很简单，就是把前128个字符以外的字符集都用 NCR 来表示，但是具体怎么转化我没有介绍，因为当时我觉得太简单了。但是后来发现有人问这个问题，这里就详细说明一下。
&lt;p&gt;首先第一步是要把源字符集的字符串转化为 UTF-16 字符集，做这一步是因为 UTF-16
字符集中的每个字符都是两个字节，后面处理起来很容易，而如果在源字符集上直接做处理则很复杂。源字符集可以从原网页中的 meta
标签中获得，也可以单独指定，我的程序是让用户在表单中指定源字符集，因为我不能保证用户提交的文件就一定是 HTML
文件（其他文件也是可以的，比如这个 WordPress 的汉化包源文件是个 po 文件，它里面的内容也可以这样处理），而且即使是 HTML
文件，里面也不一定就有用于指定字符集的 meta
标签，所以通过表单单独指定字符集比较保险。你可能会觉得将一种字符集转化为另一种字符集很复杂，确实如此，如果自己来实现的话，确实非常麻烦，但是用
PHP 来做却很容易，因为它里面已经包含这样的函数了，你可以通过 iconv 函数很容易的来实现各种字符集之间的转化，如果你的机器上没有安装
iconv 扩展，你也可以使用 mb_convert_encoding 函数，如果 Multibyte String
扩展也没有安装，那就没办法了，因为你要自己实现那么多种编码的转化基本上是不可能的，除非你是顶级大牛！推荐使用
iconv，因为这个效率高，支持的字符集也更多。
&lt;p&gt;做完上面那一步之后，接下来是以每两个字节为单位对字符串进行处理。这两个字节直接转化为数字就是 &amp;amp;#xxxxx; 中的
xxxxx，如果这个数字小于 128 就直接使用这个字符（注意这里就变成单字节了），否则就使用 &amp;amp;#xxxxx;
的形式。这里有一点要注意，就是当这个数字是 65279（16 进制的 0xFEFF）时，请把它忽略掉，因为这个是 Unicode
编码中的传输控制字符，而我们现在的字符串已经只有 iso-8859-1 编码中的前 128 个字符了，所以我们不需要它了。
&lt;p&gt;好了，基本思路就是这样，下面是实现的程序：
&lt;div&gt;下载: &lt;a href="http://www.coolcode.cn/wp-content/plugins/coolcode/coolcode.php?p=7&amp;amp;download=nochaoscode.php"&gt;nochaoscode.php&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;ol title="Double click to hide line number."&gt;&lt;li&gt;&lt;span style="color:Blue"&gt;&amp;lt;?php&lt;/span&gt;&lt;li&gt;&lt;span style="color:Green"&gt;function&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Blue"&gt;nochaoscode&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$encode&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Gray"&gt; = &lt;/span&gt;&lt;span style="color:Blue"&gt;iconv&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$encode&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Red"&gt;UTF-16BE&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt;; &lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Green"&gt;for&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Gray"&gt; = &lt;/span&gt;&lt;span style="color:Maroon"&gt;0&lt;/span&gt;&lt;span style="color:Gray"&gt;; &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Gray"&gt; &amp;lt; &lt;/span&gt;&lt;span style="color:Blue"&gt;strlen&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt;; &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Gray"&gt;++,&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Gray"&gt;++&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;        &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$code&lt;/span&gt;&lt;span style="color:Gray"&gt; = &lt;/span&gt;&lt;span style="color:Blue"&gt;ord&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Olive"&gt;})&lt;/span&gt;&lt;span style="color:Gray"&gt; * &lt;/span&gt;&lt;span style="color:Maroon"&gt;256&lt;/span&gt;&lt;span style="color:Gray"&gt; + &lt;/span&gt;&lt;span style="color:Blue"&gt;ord&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Gray"&gt; + &lt;/span&gt;&lt;span style="color:Maroon"&gt;1&lt;/span&gt;&lt;span style="color:Olive"&gt;})&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;        &lt;/span&gt;&lt;span style="color:Green"&gt;if&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$code&lt;/span&gt;&lt;span style="color:Gray"&gt; &amp;lt; &lt;/span&gt;&lt;span style="color:Maroon"&gt;128&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;            &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$output&lt;/span&gt;&lt;span style="color:Gray"&gt; .= &lt;/span&gt;&lt;span style="color:Blue"&gt;chr&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$code&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;        &lt;/span&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Green"&gt;else&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Green"&gt;if&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$code&lt;/span&gt;&lt;span style="color:Gray"&gt; != &lt;/span&gt;&lt;span style="color:Maroon"&gt;65279&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;            &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$output&lt;/span&gt;&lt;span style="color:Gray"&gt; .= &lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Red"&gt;&amp;amp;#&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Gray"&gt;.&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$code&lt;/span&gt;&lt;span style="color:Gray"&gt;.&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Red"&gt;;&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;        &lt;/span&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Green"&gt;return&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$output&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;li&gt;&lt;span style="color:Blue"&gt;?&amp;gt;&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p&gt;函数的参数中，$encode 是源字符集，$str 是需要进行转化的字符串。返回结果是转化以后字符串。
&lt;p&gt;补充：今天&lt;a href="http://www.ugia.cn/?p=72"&gt; Legend &lt;/a&gt;告诉我一种更简单的方法，就是直接利用 mb_convert_encoding 函数。因为 mb_convert_encoding 支持一种叫做 HTML-ENTITIES 的编码格式，也就是 NCR 编码。用它就更简单了。&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+%e5%9c%a8%e4%bb%bb%e6%84%8f%e5%ad%97%e7%ac%a6%e9%9b%86%e4%b8%8b%e6%ad%a3%e5%b8%b8%e6%98%be%e7%a4%ba%e7%bd%91%e9%a1%b5%e7%9a%84%e6%96%b9%e6%b3%95%ef%bc%88%e7%bb%ad%ef%bc%89&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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!302.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!302.entry</guid><pubDate>Wed, 05 Apr 2006 08:06: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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!302/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!302.entry#comment</wfw:comment><dcterms:modified>2006-04-05T08:06:37Z</dcterms:modified></item><item><title>在任意字符集下正常显示网页的方法</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!301.entry</link><description>&lt;p&gt; 
			&lt;a href="http://www.coolcode.cn/?m=20050512"&gt;2005-05-12&lt;/a&gt; @ 16:35:11 
			· 作者 &lt;a href="http://www.coolcode.cn/?author=2" title="andot的文章"&gt;andot&lt;/a&gt;			· 归类于 &lt;a href="http://www.coolcode.cn/?cat=2" title="显示PHP的所有文章" rel="category tag"&gt;PHP&lt;/a&gt;						&lt;p&gt;&lt;strong style="color:red"&gt;原创作品，转载请注明出处。&lt;/strong&gt;
&lt;p&gt;通常情况下，我们的网页要指定一个编码字符集，如 GB2312、UTF-8、ISO-8859-1
等，这样我们就可以在网页上显示我们指定编码的文字了。但是我们很可能会遇到这种情况，那就是我们可能希望在 ISO-8859-1
编码的网页上显示汉字，或者在 GB2312 编码的网页上显示韩文等。当然一种解决办法就是我们不用 ISO-8859-1 或者 GB2312
编码，而统统都采用 UTF-8 编码，这样我们只要在这种编码下，就可以混合显示各国文字了，这是现在很多网站采用的方法。
&lt;p&gt;而我这里所说的并非上面这种方法，因为上面这种方法必须要指定字符集为 UTF-8
才可以，一旦用户手工指定为其他字符集，或者可能因为某些原因，那个字符集设置没起作用，而浏览器又没有正确自动识别的话，我们看到的网页还是乱码，尤其
是在某些用框架作的网页中，某个框架中的页面如果字符集设置没起作用，在 firefox
中显示乱码而且还没法改变（我是说在不装RightEncode插件的情况下）。
&lt;p&gt;而我这里介绍的方法即使是把网页指定为 ISO-8859-1 字符集，也能够正确显示汉字、日文等。原理很简单，就是把除了
ISO-8859-1 编码中前128个字符以外的所有其他的编码都用 NCR(Numeric character reference)
来表示。比如“汉字”这两个字，如果我们写成“&amp;amp;#27721;&amp;amp;#23383;”这种形式，那么它在任意字符集下都可以正确显示。根据
这个原理，我写了下面这个程序，它可以把现有的网页转化为在任意字符集下都能显示的网页。你只需要指定源网页的字符集和源网页，点提交按钮，就可以得到目
标网页了。你也可以只转化某些文字，只需要把文字填写到文本框中，并指定这些文字原来的字符集，点提交按钮，就会在页面上面显示编码后的文字了。另外我还
编写了 WordPress 的插件，现在我的 Blog 已经可以在任意字符集下都能正确显示了。
&lt;p&gt;转化程序地址：&lt;a href="http://test.coolcode.cn/nochaoscode/"&gt;http://test.coolcode.cn/nochaoscode/&lt;/a&gt;
&lt;div&gt;下载: &lt;a href="http://www.coolcode.cn/wp-content/plugins/coolcode/coolcode.php?p=5&amp;amp;download=nochaoscode.php"&gt;nochaoscode.php&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;ol title="Double click to hide line number."&gt;&lt;li&gt;&lt;span style="color:Blue"&gt;&amp;lt;?php&lt;/span&gt;&lt;li&gt;&lt;span style="color:Green"&gt;function&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Blue"&gt;nochaoscode&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$encode&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$isemail&lt;/span&gt;&lt;span style="color:Gray"&gt; = &lt;/span&gt;&lt;span style="color:Green"&gt;false&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Gray"&gt; = &lt;/span&gt;&lt;span style="color:Blue"&gt;iconv&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$encode&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Red"&gt;UTF-16&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt;; &lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Green"&gt;for&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Gray"&gt; = &lt;/span&gt;&lt;span style="color:Maroon"&gt;0&lt;/span&gt;&lt;span style="color:Gray"&gt;; &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Gray"&gt; &amp;lt; &lt;/span&gt;&lt;span style="color:Blue"&gt;strlen&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt;; &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Gray"&gt;++,&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Gray"&gt;++&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;        &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$code&lt;/span&gt;&lt;span style="color:Gray"&gt; = &lt;/span&gt;&lt;span style="color:Blue"&gt;ord&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Olive"&gt;})&lt;/span&gt;&lt;span style="color:Gray"&gt; * &lt;/span&gt;&lt;span style="color:Maroon"&gt;256&lt;/span&gt;&lt;span style="color:Gray"&gt; + &lt;/span&gt;&lt;span style="color:Blue"&gt;ord&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$str&lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$i&lt;/span&gt;&lt;span style="color:Gray"&gt; + &lt;/span&gt;&lt;span style="color:Maroon"&gt;1&lt;/span&gt;&lt;span style="color:Olive"&gt;})&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;        &lt;/span&gt;&lt;span style="color:Green"&gt;if&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$code&lt;/span&gt;&lt;span style="color:Gray"&gt; &amp;lt; &lt;/span&gt;&lt;span style="color:Maroon"&gt;128&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Green"&gt;and&lt;/span&gt;&lt;span style="color:Gray"&gt; !&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$isemail&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;            &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$output&lt;/span&gt;&lt;span style="color:Gray"&gt; .= &lt;/span&gt;&lt;span style="color:Blue"&gt;chr&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$code&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;        &lt;/span&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Green"&gt;else&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Green"&gt;if&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$code&lt;/span&gt;&lt;span style="color:Gray"&gt; != &lt;/span&gt;&lt;span style="color:Maroon"&gt;65279&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;            &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$output&lt;/span&gt;&lt;span style="color:Gray"&gt; .= &lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Red"&gt;&amp;amp;#&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Gray"&gt;.&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$code&lt;/span&gt;&lt;span style="color:Gray"&gt;.&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Red"&gt;;&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;        &lt;/span&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Green"&gt;return&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$output&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;li&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$encode&lt;/span&gt;&lt;span style="color:Gray"&gt; = &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$_POST&lt;/span&gt;&lt;span style="color:Olive"&gt;[&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;encode&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Olive"&gt;]&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Green"&gt;if&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$encode&lt;/span&gt;&lt;span style="color:Gray"&gt; == &lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;''&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$encode&lt;/span&gt;&lt;span style="color:Gray"&gt; = &lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;UTF-8&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Green"&gt;if&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$_FILES&lt;/span&gt;&lt;span style="color:Olive"&gt;[&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;file&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Olive"&gt;][&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;size&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Olive"&gt;]&lt;/span&gt;&lt;span style="color:Gray"&gt; &amp;gt; &lt;/span&gt;&lt;span style="color:Maroon"&gt;0&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$data&lt;/span&gt;&lt;span style="color:Gray"&gt; = &lt;/span&gt;&lt;span style="color:Blue"&gt;nochaoscode&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$encode&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:Blue"&gt;file_get_contents&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$_FILES&lt;/span&gt;&lt;span style="color:Olive"&gt;[&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;file&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Olive"&gt;][&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;tmp_name&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Olive"&gt;]))&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Blue"&gt;header&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Red"&gt;Content-type: application/octet-stream;&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt;; &lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Blue"&gt;header&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Red"&gt;Content-length: &lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Gray"&gt;.&lt;/span&gt;&lt;span style="color:Blue"&gt;strlen&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$data&lt;/span&gt;&lt;span style="color:Olive"&gt;))&lt;/span&gt;&lt;span style="color:Gray"&gt;; &lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Blue"&gt;header&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Red"&gt;Content-Disposition: attachment; filename=&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Gray"&gt;.&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$_FILES&lt;/span&gt;&lt;span style="color:Olive"&gt;[&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;file&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Olive"&gt;][&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;name&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Olive"&gt;])&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Green"&gt;echo&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$data&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Green"&gt;else&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Blue"&gt;header&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Red"&gt;Content-type: text/html; charset=UTF-8&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:Olive"&gt;)&lt;/span&gt;&lt;span style="color:Gray"&gt;; &lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Green"&gt;if&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$_POST&lt;/span&gt;&lt;span style="color:Olive"&gt;[&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;email&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Olive"&gt;])&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;        &lt;/span&gt;&lt;span style="color:Green"&gt;echo&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Blue"&gt;htmlentities&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:Blue"&gt;nochaoscode&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$encode&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$_POST&lt;/span&gt;&lt;span style="color:Olive"&gt;[&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;email&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Olive"&gt;]&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:Green"&gt;true&lt;/span&gt;&lt;span style="color:Olive"&gt;))&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Green"&gt;else&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Olive"&gt;{&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;        &lt;/span&gt;&lt;span style="color:Green"&gt;echo&lt;/span&gt;&lt;span style="color:Gray"&gt; &lt;/span&gt;&lt;span style="color:Blue"&gt;htmlentities&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:Blue"&gt;nochaoscode&lt;/span&gt;&lt;span style="color:Olive"&gt;(&lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$encode&lt;/span&gt;&lt;span style="color:Gray"&gt;, &lt;/span&gt;&lt;span style="color:rgb(0, 0, 139)"&gt;$_POST&lt;/span&gt;&lt;span style="color:Olive"&gt;[&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Red"&gt;content&lt;/span&gt;&lt;span style="color:rgb(139, 0, 0)"&gt;'&lt;/span&gt;&lt;span style="color:Olive"&gt;]))&lt;/span&gt;&lt;span style="color:Gray"&gt;;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Gray"&gt;    &lt;/span&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;li&gt;&lt;span style="color:Blue"&gt;?&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;&amp;lt;form enctype=&amp;quot;multipart/form-data&amp;quot; method=&amp;quot;POST&amp;quot;&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;encode: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;encode&amp;quot; value=&amp;quot;UTF-8&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;file: &amp;lt;input type=&amp;quot;file&amp;quot; name=&amp;quot;file&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;&amp;lt;input type=&amp;quot;submit&amp;quot; /&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;&amp;lt;form method=&amp;quot;POST&amp;quot;&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;encode: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;encode&amp;quot; value=&amp;quot;UTF-8&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;content: &amp;lt;textarea name=&amp;quot;content&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;&amp;lt;br /&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;&amp;lt;input type=&amp;quot;submit&amp;quot; /&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;&amp;lt;form method=&amp;quot;POST&amp;quot;&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;encode: &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;encode&amp;quot; value=&amp;quot;UTF-8&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;email: &amp;lt;input name=&amp;quot;email&amp;quot; /&amp;gt;&amp;lt;br /&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;&amp;lt;input type=&amp;quot;submit&amp;quot; /&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Black"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:Blue"&gt;&amp;lt;?php&lt;/span&gt;&lt;li&gt;&lt;span style="color:Olive"&gt;}&lt;/span&gt;&lt;li&gt;&lt;span style="color:Blue"&gt;?&amp;gt;&lt;/span&gt;&lt;/ol&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+%e5%9c%a8%e4%bb%bb%e6%84%8f%e5%ad%97%e7%ac%a6%e9%9b%86%e4%b8%8b%e6%ad%a3%e5%b8%b8%e6%98%be%e7%a4%ba%e7%bd%91%e9%a1%b5%e7%9a%84%e6%96%b9%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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!301.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!301.entry</guid><pubDate>Wed, 05 Apr 2006 08:04:20 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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!301/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!301.entry#comment</wfw:comment><dcterms:modified>2006-04-05T08:05:15Z</dcterms:modified></item><item><title>html实体与网页编码</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!300.entry</link><description>&lt;p&gt;最近在解析一个天气预报的xml文件时，发现它里面所有的汉字都转化为了html实体(十进制表示的Unicode编码)，这样做的好处就是不管网
页的编码是什么，都可以正常的显示汉字，而不会出现乱码，当然也适用于其他字符集。在php中我们可以用mbstring的
mb_convert_encoding函数实现这个正向及反向的转化。&lt;br&gt;
如：&lt;br&gt;
&lt;div&gt;&lt;span&gt;&lt;span&gt;mb_convert_encoding &lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;你好&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;quot;HTML-ENTITIES&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;quot;gb2312&amp;quot;&lt;/span&gt;&lt;span&gt;);    &lt;/span&gt;&lt;span&gt;//输出：&amp;amp;#20320;&amp;amp;#22909;&lt;br&gt;&lt;/span&gt;&lt;span&gt;mb_convert_encoding &lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;&amp;amp;#20320;&amp;amp;#22909;&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;quot;gb2312&amp;quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&amp;quot;HTML-ENTITIES&amp;quot;&lt;/span&gt;&lt;span&gt;);    &lt;/span&gt;&lt;span&gt;//输出：你好 &lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;可以查看这个页面：&lt;a href="http://www.ugia.cn/wp-data/htmlentities.html"&gt;htmlentities.html&lt;/a&gt;, 不管选择什么网页编码，网页都能正常显示。
&lt;p&gt;如果需要对整个页面转化，则只需要在php文件的头部加上这三行代码：
&lt;div&gt;&lt;span&gt;
&lt;span&gt;mb_internal_encoding&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;gb2312&amp;quot;&lt;/span&gt;&lt;span&gt;);  &lt;/span&gt;&lt;span&gt;// 这里的gb2312是你网站原来的编码&lt;br&gt;&lt;/span&gt;&lt;span&gt;mb_http_output&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;&amp;quot;HTML-ENTITIES&amp;quot;&lt;/span&gt;&lt;span&gt;);&lt;br&gt;&lt;/span&gt;&lt;span&gt;ob_start&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;'mb_output_handler'&lt;/span&gt;&lt;span&gt;); 
&lt;br&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;如果没有打开mbstring扩展，可以参考coolcode.cn上的这两篇文章：&lt;br&gt;
&lt;a href="http://www.coolcode.cn/?p=5"&gt;在任意字符集下正常显示网页的方法&lt;/a&gt;&lt;br&gt;
&lt;a href="http://www.coolcode.cn/?p=7"&gt;在任意字符集下正常显示网页的方法（续）&lt;/a&gt;
&lt;p&gt;在asp中我们可以用下面这个函数来实现这个转化：
&lt;span&gt;
&lt;span&gt;&lt;/span&gt;&lt;span&gt;Function &lt;/span&gt;&lt;span&gt;htmlentities&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;)&lt;br&gt;    For &lt;/span&gt;&lt;span&gt;i &lt;/span&gt;&lt;span&gt;= &lt;/span&gt;&lt;span&gt;1 to Len&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;)&lt;br&gt;        &lt;/span&gt;&lt;span&gt;char &lt;/span&gt;&lt;span&gt;= &lt;/span&gt;&lt;span&gt;mid&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;str&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;i&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;)&lt;br&gt;        If &lt;/span&gt;&lt;span&gt;Ascw&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;char&lt;/span&gt;&lt;span&gt;) &amp;gt; &lt;/span&gt;&lt;span&gt;128 then&lt;br&gt;            htmlentities &lt;/span&gt;&lt;span&gt;= &lt;/span&gt;&lt;span&gt;htmlentities &lt;/span&gt;&lt;span&gt;&amp;amp; &lt;/span&gt;&lt;span&gt;&amp;quot;&amp;amp;#&amp;quot; &lt;/span&gt;&lt;span&gt;&amp;amp; &lt;/span&gt;&lt;span&gt;Ascw&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;char&lt;/span&gt;&lt;span&gt;) &amp;amp; &lt;/span&gt;&lt;span&gt;&amp;quot;;&amp;quot;&lt;br&gt;        &lt;/span&gt;&lt;span&gt;Else&lt;br&gt;            &lt;/span&gt;&lt;span&gt;htmlentities &lt;/span&gt;&lt;span&gt;= &lt;/span&gt;&lt;span&gt;htmlentities &lt;/span&gt;&lt;span&gt;&amp;amp; &lt;/span&gt;&lt;span&gt;char&lt;br&gt;        End &lt;/span&gt;&lt;span&gt;if&lt;br&gt;    &lt;/span&gt;&lt;span&gt;Next&lt;br&gt;End &lt;/span&gt;&lt;span&gt;Function 
&lt;/span&gt;&lt;/span&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+html%e5%ae%9e%e4%bd%93%e4%b8%8e%e7%bd%91%e9%a1%b5%e7%bc%96%e7%a0%81&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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!300.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!300.entry</guid><pubDate>Wed, 05 Apr 2006 07:55:53 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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!300/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!300.entry#comment</wfw:comment><dcterms:modified>2006-04-05T07:55:53Z</dcterms:modified></item><item><title>做文章系统时, 如何让长篇的文章自动换行</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!273.entry</link><description>&lt;p&gt;这个问题曾经有很多人提及的，根据网上的解决方法可是导致英文词语被拆散换行 
&lt;p&gt;网上大多数文章的说法，只要在CSS中加入： &lt;br&gt;table { &lt;br&gt;table-layout:fixed; &lt;br&gt;word-break:break-all; &lt;br&gt;word-wrap:break-word; &lt;br&gt;} &lt;br&gt;div { &lt;br&gt;word-break:break-all; &lt;br&gt;word-wrap:break-word; &lt;br&gt;}
&lt;br&gt;就可以解决表格和层被撑破，最初我也是这样做的。不过这样的代码会造成一个问题，你会发现英文词全部被截断了，这不符合英语的书写习惯也不利于阅读。 &lt;br&gt;后来我发现上述代码改写一下就可以做到既防止表格/层撑破又防止单词断裂了。 &lt;br&gt;如下： &lt;br&gt;table { &lt;br&gt;table-layout: fixed; &lt;br&gt;word-wrap:break-word; &lt;br&gt;} &lt;br&gt;div { &lt;br&gt;word-wrap:break-word; &lt;br&gt;}&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+%e5%81%9a%e6%96%87%e7%ab%a0%e7%b3%bb%e7%bb%9f%e6%97%b6%2c+%e5%a6%82%e4%bd%95%e8%ae%a9%e9%95%bf%e7%af%87%e7%9a%84%e6%96%87%e7%ab%a0%e8%87%aa%e5%8a%a8%e6%8d%a2%e8%a1%8c&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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!273.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!273.entry</guid><pubDate>Wed, 29 Mar 2006 08:29: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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!273/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!273.entry#comment</wfw:comment><dcterms:modified>2006-03-29T08:29:01Z</dcterms:modified></item><item><title>PHP 打印</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!239.entry</link><description>&lt;div&gt;
&lt;p&gt;&amp;lt;html&amp;gt;&lt;br&gt;&amp;lt;head&amp;gt;&lt;br&gt;&amp;lt;meta http-equiv=&amp;quot;Content-Type&amp;quot; content=&amp;quot;text/html; charset=gb2312&amp;quot;&amp;gt;&lt;br&gt;&amp;lt;title&amp;gt;打印&amp;lt;/title&amp;gt;&lt;br&gt;&amp;lt;link href=&amp;quot;../crm.css&amp;quot; rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br&gt;&amp;lt;style&amp;gt;
&lt;p&gt;.tdp
&lt;p&gt;{
&lt;p&gt;    border-bottom: 1 solid #000000;&lt;br&gt; &lt;br&gt;    border-left:  1 solid #000000;
&lt;p&gt;    border-right:  0 solid #ffffff;
&lt;p&gt;    border-top: 0 solid #ffffff;
&lt;p&gt;}
&lt;p&gt;.tabp
&lt;p&gt;{
&lt;p&gt;    border-color: #000000 #000000 #000000 #000000; 
&lt;p&gt;    border-style: solid; 
&lt;p&gt;    border-top-width: 2px; 
&lt;p&gt;    border-right-width: 2px; 
&lt;p&gt;    border-bottom-width: 1px; 
&lt;p&gt;    border-left-width: 1px;&lt;br&gt; &lt;br&gt; FONT-SIZE: 9pt;
&lt;p&gt;}&lt;br&gt;.ttt{&lt;br&gt;    FONT-SIZE: 9pt;&lt;br&gt;}&lt;br&gt;&amp;lt;/style&amp;gt;&lt;br&gt;&amp;lt;/head&amp;gt;&lt;br&gt;&amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br&gt;function setnone()&lt;br&gt;{&lt;br&gt;    document.all('Button1').style.display='none';&lt;br&gt; document.all('Button2').style.display='none';&lt;br&gt; document.all('Button3').style.display='none';
&lt;p&gt;}&lt;br&gt;function setshow()&lt;br&gt;{&lt;br&gt;    document.all('Button1').style.display='block';&lt;br&gt; document.all('Button2').style.display='block';&lt;br&gt; document.all('Button3').style.display='block';
&lt;p&gt;}&lt;br&gt;&amp;lt;/script&amp;gt;&lt;br&gt;&amp;lt;OBJECT classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 id=WebBrowser width=0&amp;gt;&amp;lt;/OBJECT&amp;gt;&lt;br&gt;&amp;lt;body onbeforeprint=&amp;quot;setnone();&amp;quot; onafterprint=&amp;quot;setshow()&amp;quot;&amp;gt;&lt;br&gt;&amp;lt;?&lt;br&gt;include &amp;quot;../comm.php&amp;quot;;&lt;br&gt;$bid = $_GET['bid'];
&lt;p&gt;?&amp;gt;&lt;br&gt;&amp;lt;table width=&amp;quot;90%&amp;quot;  border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;ttt&amp;quot;&amp;gt;&lt;br&gt;     &amp;lt;tr&amp;gt;&lt;br&gt;          &amp;lt;td width=&amp;quot;33%&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br&gt;          &amp;lt;td height=&amp;quot;33%&amp;quot; align=&amp;quot;center&amp;quot; class=&amp;quot;billname&amp;quot;&amp;gt;&amp;lt;?=$b['billname']?&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;          &amp;lt;td height=&amp;quot;33%&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br&gt;     &amp;lt;/tr&amp;gt;&lt;br&gt;     &amp;lt;tr&amp;gt;&lt;br&gt;          &amp;lt;td width=&amp;quot;33%&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br&gt;          &amp;lt;td width=&amp;quot;33%&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br&gt;          &amp;lt;td&amp;gt;NO.：&amp;lt;?=$b['no']?&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;     &amp;lt;/tr&amp;gt;&lt;br&gt;     &amp;lt;tr&amp;gt;&lt;br&gt;          &amp;lt;td&amp;gt;单位：&amp;lt;?=$b['cname']?&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;          &amp;lt;td&amp;gt;&amp;amp;nbsp;&amp;lt;/td&amp;gt;&lt;br&gt;          &amp;lt;td&amp;gt;日期：&amp;lt;?=changedate($b['date'])?&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;     &amp;lt;/tr&amp;gt;&lt;br&gt;&amp;lt;/table&amp;gt;
&lt;p&gt;&lt;br&gt;&amp;lt;br&amp;gt;&lt;br&gt;&amp;lt;table width=&amp;quot;90%&amp;quot;  border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot; cellpadding=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;tabp&amp;quot;&amp;gt;&lt;br&gt;     &amp;lt;tr&amp;gt;&lt;br&gt;        &amp;lt;?&lt;br&gt;  GetSelfField(&amp;quot;print&amp;quot;,$b['billtype']);&lt;br&gt;  ?&amp;gt;  &lt;br&gt;     &amp;lt;/tr&amp;gt;&lt;br&gt;  &amp;lt;?&lt;br&gt;  while($g=$db-&amp;gt;fetch_array($q))&lt;br&gt;  {&lt;br&gt;  ?&amp;gt;&lt;br&gt;     &amp;lt;tr&amp;gt;&lt;br&gt;       &amp;lt;? OutPutSelfField(&amp;quot;print&amp;quot;,$g);  ?&amp;gt;&lt;br&gt;     &amp;lt;/tr&amp;gt;&lt;br&gt;     &lt;br&gt;  &amp;lt;?&lt;br&gt;  }&lt;br&gt;  ?&amp;gt;&lt;br&gt;  &amp;lt;tr&amp;gt;&amp;lt;td class=&amp;quot;tdp&amp;quot; colspan=&amp;quot;&amp;lt;?=$num?&amp;gt;&amp;quot;&amp;gt;合：&amp;lt;?=number_format($b['totalmoney'],2)?&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br&gt;&amp;lt;/table&amp;gt;&lt;br&gt;&amp;lt;br&amp;gt;
&lt;p&gt;&amp;lt;table width=&amp;quot;90%&amp;quot;  border=&amp;quot;0&amp;quot; align=&amp;quot;center&amp;quot; cellpadding=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; class=&amp;quot;ttt&amp;quot;&amp;gt;&lt;br&gt;     &amp;lt;tr&amp;gt;&lt;br&gt;          &amp;lt;td&amp;gt;&amp;lt;div align=&amp;quot;right&amp;quot;&amp;gt;经手人：&amp;lt;?=$b['ename']?&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;     &amp;lt;/tr&amp;gt;&lt;br&gt;&amp;lt;/table&amp;gt;&lt;br&gt;&amp;lt;br&amp;gt;&lt;br&gt;&amp;lt;table width=&amp;quot;100%&amp;quot;  border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;0&amp;quot;&amp;gt;&lt;br&gt;     &amp;lt;tr&amp;gt;&lt;br&gt;          &amp;lt;td&amp;gt;&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br&gt;     &amp;lt;input name=Button1 type=button class=&amp;quot;btn4&amp;quot; onClick=document.all.WebBrowser.ExecWB(6,6) value=直接打印&amp;gt;&lt;br&gt;          &amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;          &amp;lt;td&amp;gt;&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br&gt;               &amp;lt;input name=Button2 type=button class=&amp;quot;btn4&amp;quot; onClick=document.all.WebBrowser.ExecWB(7,1) value=打印预览&amp;gt;&lt;br&gt;          &amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;          &amp;lt;td&amp;gt;&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br&gt;               &amp;lt;input name=Button3 type=button class=&amp;quot;btn4&amp;quot; onClick=document.all.WebBrowser.ExecWB(8,1) value=页面设置&amp;gt;&lt;br&gt;          &amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br&gt;     &amp;lt;/tr&amp;gt;&lt;br&gt;&amp;lt;/table&amp;gt;
&lt;p&gt;&amp;lt;/body&amp;gt;&lt;br&gt;&amp;lt;/html&amp;gt;&lt;br&gt;
&lt;p&gt;在使用这两个样式时，1个是让&amp;lt; table&amp;gt;的class=&amp;quot;tabp&amp;quot;,然后再它下面的每个&amp;lt; td&amp;gt;的class=&amp;quot;tdp&amp;quot;，&amp;lt; tr&amp;gt;不需要指定。记住，每个&amp;lt; td&amp;gt;都要指定一下。。。。&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+PHP+%e6%89%93%e5%8d%b0&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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!239.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!239.entry</guid><pubDate>Thu, 16 Feb 2006 02:37:20 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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!239/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!239.entry#comment</wfw:comment><dcterms:modified>2006-02-16T02:37:20Z</dcterms:modified></item><item><title>[PHP] 解析xml文档的一个简单php类</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!177.entry</link><description>&lt;div&gt;
&lt;p&gt;&lt;font size=3&gt;//原创，可以自由使用，欢迎提出改进意见，&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;&amp;lt;?PHP&lt;br&gt;//xml中的元素&lt;br&gt;class XMLTag&lt;br&gt;{&lt;br&gt; var $parent;//父节点&lt;br&gt; var $child;//子节点&lt;br&gt; var $attribute;//本节点属性&lt;br&gt; var $data;//本节点数据&lt;br&gt; var $TagName;//本节点名称&lt;br&gt; var $depth;//本节点的深度，根节点为1&lt;br&gt; function XMLTag($tag='')&lt;br&gt; {&lt;br&gt;  $this-&amp;gt;attribute = array();&lt;br&gt;  $this-&amp;gt;child = array();&lt;br&gt;  $this-&amp;gt;depth = 0;&lt;br&gt;  $this-&amp;gt;parent = null;&lt;br&gt;  $this-&amp;gt;data = '';&lt;br&gt;  $this-&amp;gt;TagName = $tag;&lt;br&gt; }&lt;br&gt; function SetTagName($tag)&lt;br&gt; {&lt;br&gt;  $this-&amp;gt;TagName = $tag;&lt;br&gt; }&lt;br&gt; function SetParent(&amp;amp;$parent)&lt;br&gt; {&lt;br&gt;  $this-&amp;gt;parent = &amp;amp;$parent;&lt;br&gt; }&lt;br&gt; function SetAttribute($name,$value)&lt;br&gt; {&lt;br&gt;  $this-&amp;gt;attribute[$name] = $value;&lt;br&gt; }&lt;br&gt; function AppendChild(&amp;amp;$child)&lt;br&gt; {&lt;br&gt;  $i = count($this-&amp;gt;child);&lt;br&gt;  $this-&amp;gt;child[$i] = &amp;amp;$child;&lt;br&gt; }&lt;br&gt; function SetData($data)&lt;br&gt; {&lt;br&gt;  $this-&amp;gt;data= $data;&lt;br&gt; }&lt;br&gt; function GetAttr()&lt;br&gt; {&lt;br&gt;  return $this-&amp;gt;attribute;&lt;br&gt; }&lt;br&gt; function GetProperty($name)&lt;br&gt; {&lt;br&gt;  return $this-&amp;gt;attribute[$name];&lt;br&gt; }&lt;br&gt; function GetData()&lt;br&gt; {&lt;br&gt;  return $this-&amp;gt;data;&lt;br&gt; }&lt;br&gt; function GetParent()&lt;br&gt; {&lt;br&gt;  return $this-&amp;gt;parent;&lt;br&gt; }&lt;br&gt; function GetChild()&lt;br&gt; {&lt;br&gt;  return $this-&amp;gt;child;&lt;br&gt; }&lt;br&gt; function GetChildByName($name)&lt;br&gt; {&lt;br&gt;  $total = count($this-&amp;gt;child);&lt;br&gt;  for($i=0;$i&amp;lt;$total;$i++)&lt;br&gt;  {&lt;br&gt;   if($this-&amp;gt;child[$i]-&amp;gt;attribute['name'] == $name)&lt;br&gt;   {&lt;br&gt;    return $this-&amp;gt;child[$i];&lt;br&gt;   }&lt;br&gt;  }&lt;br&gt;  return null;&lt;br&gt; }&lt;br&gt; //获取某个tag节点&lt;br&gt;    function GetElementsByTagName($tag)&lt;br&gt;    {&lt;br&gt;     $vector = array();&lt;br&gt;     $tree = &amp;amp;$this;&lt;br&gt;     $this-&amp;gt;_GetElementByTagName($tree,$tag,$vector);&lt;br&gt;     return $vector;&lt;br&gt;    }&lt;br&gt;    function _GetElementByTagName($tree,$tag,&amp;amp;$vector)&lt;br&gt;    {&lt;br&gt;     if($tree-&amp;gt;TagName == $tag) array_push($vector,$tree);&lt;br&gt;     $total = count($tree-&amp;gt;child);&lt;br&gt;     for($i = 0; $i &amp;lt; $total;$i++)&lt;br&gt;      $this-&amp;gt;_GetElementByTagName($tree-&amp;gt;child[$i],$tag,$vector);&lt;br&gt;    }&lt;br&gt;}&lt;br&gt;//xml文档解析&lt;br&gt;class XMLDoc&lt;br&gt;{&lt;br&gt; var $parser;//xml解析指针&lt;br&gt; var $XMLTree;//生成的xml树&lt;br&gt; var $XMLFile;//将要解析的xml文档&lt;br&gt; var $XMLData;//将要解析的xml数据&lt;br&gt; var $error;//错误信息&lt;br&gt; var $NowTag;//当前指向的节点&lt;br&gt; var $TreeData;//遍历生成的xml树等到的数据&lt;br&gt; var $MaxDepth;//本树最大的深度&lt;br&gt; var $encode;//xml文档的编码方式&lt;br&gt; var $chs;//字符转换&lt;br&gt; function XMLDoc()&lt;br&gt; {&lt;br&gt;  //采用默认的ISO-8859-1&lt;br&gt;  $this-&amp;gt;parser = xml_parser_create();&lt;br&gt;  xml_parser_set_option($this-&amp;gt;parser,XML_OPTION_CASE_FOLDING,0);&lt;br&gt;  xml_set_object($this-&amp;gt;parser,&amp;amp;$this);&lt;br&gt;  xml_set_element_handler($this-&amp;gt;parser,'_StartElement','_EndElement');&lt;br&gt;  xml_set_character_data_handler($this-&amp;gt;parser,'_CData');&lt;br&gt;  $this-&amp;gt;stack = array();&lt;br&gt;  $this-&amp;gt;XMLTree = null;&lt;br&gt;  $this-&amp;gt;NowTag = null;&lt;br&gt;  $this-&amp;gt;MaxDepth = 0;&lt;br&gt; }&lt;br&gt; function LoadFromFile($file)&lt;br&gt; {&lt;br&gt;  $this-&amp;gt;XMLFile = fopen($file,'r');&lt;br&gt;  if(!$this-&amp;gt;XMLFile)&lt;br&gt;  {&lt;br&gt;   $this-&amp;gt;error = '不能打开xml文件';&lt;br&gt;   return false;&lt;br&gt;  }&lt;br&gt;  $this-&amp;gt;XMLData = '';&lt;br&gt;  $this-&amp;gt;TreeData = '';&lt;br&gt;  return true;&lt;br&gt; }&lt;br&gt; function SetXMLData($data)&lt;br&gt; {&lt;br&gt;  if($this-&amp;gt;XMLFile) fclose($this-&amp;gt;XMLFile);&lt;br&gt;  $this-&amp;gt;XMLData = $data;&lt;br&gt;  $this-&amp;gt;TreeData = '';&lt;br&gt; }&lt;br&gt; //给树添加一个新的节点&lt;br&gt; function AppendChild(&amp;amp;$child)&lt;br&gt; {&lt;br&gt;  if($this-&amp;gt;XMLTree == null)&lt;br&gt;  {&lt;br&gt;   $child-&amp;gt;depth = 1;&lt;br&gt;   $this-&amp;gt;XMLTree = &amp;amp;$child;&lt;br&gt;   $this-&amp;gt;NowTag = &amp;amp;$this-&amp;gt;XMLTree;&lt;br&gt;  }&lt;br&gt;  else&lt;br&gt;  {&lt;br&gt;   $i = count($this-&amp;gt;NowTag-&amp;gt;child);&lt;br&gt;   $this-&amp;gt;NowTag-&amp;gt;child[$i] = &amp;amp;$child;&lt;br&gt;            $child-&amp;gt;parent = &amp;amp;$this-&amp;gt;NowTag;&lt;br&gt;   $child-&amp;gt;depth = $this-&amp;gt;NowTag-&amp;gt;depth+1;&lt;br&gt;   unset($this-&amp;gt;NowTag);&lt;br&gt;   $this-&amp;gt;NowTag = &amp;amp;$child;&lt;br&gt;  }&lt;br&gt;  $this-&amp;gt;MaxDepth = ($this-&amp;gt;MaxDepth &amp;lt; $this-&amp;gt;NowTag-&amp;gt;depth)?$this-&amp;gt;NowTag-&amp;gt;depth:$this-&amp;gt;MaxDepth;&lt;br&gt; }&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt; //产生一个新的节点&lt;br&gt; function &amp;amp;CreateElement($tag)&lt;br&gt; {&lt;br&gt;  $element = new XMLTag($tag);&lt;br&gt;  return $element;&lt;br&gt; }&lt;br&gt; function _StartElement($parser,$element,$attribute)&lt;br&gt; {&lt;br&gt;  $tag = new XMLTag();&lt;br&gt;  $tag-&amp;gt;TagName = $element;&lt;br&gt;  $tag-&amp;gt;attribute = $attribute;&lt;br&gt;  if($this-&amp;gt;XMLTree == null)&lt;br&gt;  {&lt;br&gt;   $tag-&amp;gt;parent = null;&lt;br&gt;   $tag-&amp;gt;depth = 1;&lt;br&gt;   $this-&amp;gt;XMLTree = &amp;amp;$tag;&lt;br&gt;   $this-&amp;gt;NowTag = &amp;amp;$tag;&lt;br&gt;  }&lt;br&gt;  else&lt;br&gt;  {&lt;br&gt;   $i = count($this-&amp;gt;NowTag-&amp;gt;child);&lt;br&gt;   $this-&amp;gt;NowTag-&amp;gt;child[$i] = &amp;amp;$tag;&lt;br&gt;   $tag-&amp;gt;parent = &amp;amp;$this-&amp;gt;NowTag;&lt;br&gt;   $tag-&amp;gt;depth = $this-&amp;gt;NowTag-&amp;gt;depth+1;&lt;br&gt;   unset($this-&amp;gt;NowTag);&lt;br&gt;   $this-&amp;gt;NowTag = &amp;amp;$tag;&lt;br&gt;  }&lt;br&gt;  $this-&amp;gt;MaxDepth = ($this-&amp;gt;MaxDepth &amp;lt; $this-&amp;gt;NowTag-&amp;gt;depth)?$this-&amp;gt;NowTag-&amp;gt;depth:$this-&amp;gt;MaxDepth;&lt;br&gt; }&lt;br&gt; function _CData($paraser,$data)&lt;br&gt; {&lt;br&gt;  $this-&amp;gt;NowTag-&amp;gt;data = $data;&lt;br&gt; }&lt;br&gt; function _EndElement($parser,$element)&lt;br&gt; {&lt;br&gt;  $parent = &amp;amp;$this-&amp;gt;NowTag-&amp;gt;parent;&lt;br&gt;  unset($this-&amp;gt;NowTag);&lt;br&gt;  $this-&amp;gt;NowTag = &amp;amp;$parent;&lt;br&gt; }&lt;br&gt; //开始解析xml文档&lt;br&gt; function parse()&lt;br&gt; {&lt;br&gt;  if($this-&amp;gt;XMLFile)&lt;br&gt;  {&lt;br&gt;   $this-&amp;gt;XMLData = '';&lt;br&gt;   while(!feof($this-&amp;gt;XMLFile))&lt;br&gt;   {&lt;br&gt;    $this-&amp;gt;XMLData .= fread($this-&amp;gt;XMLFile,4096);&lt;br&gt;   }&lt;br&gt;  }&lt;br&gt;  fclose($this-&amp;gt;XMLFile);&lt;br&gt;  if($this-&amp;gt;XMLData)&lt;br&gt;  {&lt;br&gt;   //$this-&amp;gt;JudgeEncode();&lt;br&gt;   if (!xml_parse($this-&amp;gt;parser, $this-&amp;gt;XMLData))&lt;br&gt;   {&lt;br&gt;    $code = xml_get_error_code($this-&amp;gt;parser);&lt;br&gt;    $col = xml_get_current_column_number($this-&amp;gt;parser);&lt;br&gt;    $line = xml_get_current_line_number($this-&amp;gt;parser);&lt;br&gt;          $this-&amp;gt;error = &amp;quot;XML error: $col at line $line:&amp;quot;.xml_error_string($code);&lt;br&gt;          return false;&lt;br&gt;   }&lt;br&gt;  }&lt;br&gt;  xml_parser_free($this-&amp;gt;parser);&lt;br&gt;  return true;&lt;br&gt;    }&lt;br&gt;    //确定编码方式&lt;br&gt;    function JudgeEncode()&lt;br&gt;    {&lt;br&gt;     $start = strpos($this-&amp;gt;XMLData,'&amp;lt;?xml');&lt;br&gt;     $end = strpos($this-&amp;gt;XMLData,'&amp;gt;');&lt;br&gt;     $str = substr($this-&amp;gt;XMLData,$start,$end-$start);&lt;br&gt;     $pos = strpos($str,'encoding');&lt;br&gt;     if($pos !== false)&lt;br&gt;     {&lt;br&gt;      $str = substr($str,$pos);&lt;br&gt;      $pos = strpos($str,'=');&lt;br&gt;      $str = substr($str,$pos+1);&lt;br&gt;      $pos = 0;&lt;br&gt;      while(empty($str[$pos])) $pos++;&lt;br&gt;      $this-&amp;gt;encode = '';&lt;br&gt;      while(!empty($str[$pos]) &amp;amp;&amp;amp; $str[$pos] != '?')&lt;br&gt;      {&lt;br&gt;       if($str[$pos] != '&amp;quot;' &amp;amp;&amp;amp; $str[$pos] != &amp;quot;'&amp;quot;)&lt;br&gt;        $this-&amp;gt;encode .= $str[$pos];&lt;br&gt;       $pos++;&lt;br&gt;      }&lt;br&gt;     }&lt;br&gt;     $this-&amp;gt;chs = new Chinese('UTF-8',$this-&amp;gt;encode);&lt;br&gt;    }&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;    //根据节点名称修改某个节点的值&lt;br&gt;    function ChangeValueByName($name,$name,$value)&lt;br&gt;    {&lt;br&gt;     return $this-&amp;gt;_ChangeValueByName($this-&amp;gt;XMLTree,$name,$value);&lt;br&gt;    }&lt;br&gt;    function _ChangeValueByName($tree,$name,$value)&lt;br&gt;    {&lt;br&gt;     if(is_array($tree-&amp;gt;attribute))&lt;br&gt;     {&lt;br&gt;      while (list($k,$v) = each($tree-&amp;gt;attribute))&lt;br&gt;      {&lt;br&gt;       if($k = 'name' &amp;amp;&amp;amp; $v = $name)&lt;br&gt;       {&lt;br&gt;        $tree-&amp;gt;data = $value;&lt;br&gt;        return true;&lt;br&gt;       }&lt;br&gt;      }&lt;br&gt;     }&lt;br&gt;     $total = count($tree-&amp;gt;child);&lt;br&gt;     for($i = 0;$i&amp;lt;$total;$i++)&lt;br&gt;     {&lt;br&gt;      $result = $this-&amp;gt;_ChangeValueByName($tree-&amp;gt;child[$i],$name,$value);&lt;br&gt;      if($result == true) break;&lt;br&gt;     }&lt;br&gt;     return $result;&lt;br&gt;    }&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;    //根据节点名称修改树中某个节点的属性&lt;br&gt;    function ChangeAttrByName($name,$attr,$value)&lt;br&gt;    {&lt;br&gt;     return $this-&amp;gt;_ChangeAttrByName($this-&amp;gt;XMLTree,$name,$attr,$value);&lt;br&gt;    }&lt;br&gt;    function _ChangeAttrByName(&amp;amp;$tree,$name,$attr,$value)&lt;br&gt;    {&lt;br&gt;     if(is_array($tree-&amp;gt;attribute))&lt;br&gt;     {&lt;br&gt;      while(list($k,$v) = each($tree-&amp;gt;atttibute))&lt;br&gt;      {&lt;br&gt;       if($k == 'name' &amp;amp;&amp;amp; $v == $name)&lt;br&gt;       {&lt;br&gt;        $tree-&amp;gt;attribute[$attr] = $value;&lt;br&gt;        return true;&lt;br&gt;       }&lt;br&gt;      }&lt;br&gt;     }&lt;br&gt;     $total = count($tree-&amp;gt;child);&lt;br&gt;     for($i = 0;$i&amp;lt;$total;$i++)&lt;br&gt;     {&lt;br&gt;      $result = $this-&amp;gt;_ChangeAttrByName($tree-&amp;gt;child[$i],$name,$attr,$value);&lt;br&gt;      if($result == true) break;&lt;br&gt;     }&lt;br&gt;     return $result;&lt;br&gt;    }&lt;br&gt;    //获取根节点&lt;br&gt;    function GetDocumentElement()&lt;br&gt;    {&lt;br&gt;     return $this-&amp;gt;XMLTree;&lt;br&gt;    }&lt;br&gt;    //遍历生成的xml树,重新生成xml文档&lt;br&gt;    function WalkTree()&lt;br&gt;    {&lt;br&gt;     $this-&amp;gt;TreeData = '';&lt;br&gt;     $this-&amp;gt;_WalkTree($this-&amp;gt;XMLTree);&lt;br&gt;     return $this-&amp;gt;TreeData;&lt;br&gt;    }&lt;br&gt;     //递归遍历&lt;br&gt;    function _WalkTree($tree)&lt;br&gt;    {&lt;br&gt;     $this-&amp;gt;TreeData .= '&amp;lt;'.$tree-&amp;gt;TagName.' ';&lt;br&gt;     if(is_array($tree-&amp;gt;attribute))&lt;br&gt;     {&lt;br&gt;      while(list($key,$value) = each($tree-&amp;gt;attribute))&lt;br&gt;      {&lt;br&gt;       $this-&amp;gt;TreeData .=&amp;quot;$key=\&amp;quot;$value\&amp;quot; &amp;quot;;&lt;br&gt;      }&lt;br&gt;     }&lt;br&gt;     $this-&amp;gt;TreeData .= '&amp;gt;'.$tree-&amp;gt;data;&lt;br&gt;     $total = count($tree-&amp;gt;child);&lt;br&gt;     for($i=0;$i&amp;lt;$total;$i++)&lt;br&gt;     {&lt;br&gt;      $this-&amp;gt;_WalkTree($tree-&amp;gt;child[$i]);&lt;br&gt;     }&lt;br&gt;     $this-&amp;gt;TreeData .= '&amp;lt;/'.$tree-&amp;gt;TagName.&amp;quot;&amp;gt;\n&amp;quot;;&lt;br&gt;    }&lt;br&gt;    //获取错误信息&lt;br&gt;    function GetError()&lt;br&gt;    {&lt;br&gt;     return $this-&amp;gt;error;&lt;br&gt;    }&lt;br&gt;    //获取树的最大深度&lt;br&gt;    function GetMaxDepth()&lt;br&gt;    {&lt;br&gt;     return $this-&amp;gt;MaxDepth;&lt;br&gt;    }&lt;br&gt;    //将xml树写入xml文件&lt;br&gt;    function WriteToFile($file,$head='')&lt;br&gt;    {&lt;br&gt;     $fp = fopen($file,'w');&lt;br&gt;     if(!$fp)&lt;br&gt;     {&lt;br&gt;      $this-&amp;gt;error = '无法打开写入文件';&lt;br&gt;      return false;&lt;br&gt;     }&lt;br&gt;     if(empty($this-&amp;gt;TreeData)) $this-&amp;gt;WalkTree();&lt;br&gt;     $head = empty($head)?'&amp;lt;?xml version=&amp;quot;1.0&amp;quot; standalone=&amp;quot;yes&amp;quot; encoding=&amp;quot;gb2312&amp;quot;?&amp;gt;':$head;&lt;br&gt;     fwrite($fp,$head);&lt;br&gt;     fwrite($fp,$this-&amp;gt;TreeData);&lt;br&gt;     fclose($fp);&lt;br&gt;     return true;&lt;br&gt;    }&lt;br&gt;}&lt;br&gt;?&amp;gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+%5bPHP%5d+%e8%a7%a3%e6%9e%90xml%e6%96%87%e6%a1%a3%e7%9a%84%e4%b8%80%e4%b8%aa%e7%ae%80%e5%8d%95php%e7%b1%bb&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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!177.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!177.entry</guid><pubDate>Fri, 09 Dec 2005 05:02:15 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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!177/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!177.entry#comment</wfw:comment><dcterms:modified>2005-12-09T05:02:15Z</dcterms:modified></item><item><title>[PHP] 长文章分页类</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!137.entry</link><description>&lt;span&gt;
&lt;p&gt;&lt;font size=3&gt;这个类并不难，思路来自分页，思想是在内容里加入不在页面显示的标签， 作为分页的标志！&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;类中有个url分析的函数，是亲自试验出来的！可能跟您想要的不一样！主要还有个在后台使用的js，那是个难点，我用了半天的时间，调试跟查找&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;&amp;lt;?php&lt;br&gt;/**&lt;br&gt;author sanshi&lt;br&gt;    QQ:35047205 &lt;br&gt;    Email:sanshi0815@tom.com &lt;br&gt;    MSN:sanshi0815@tom.com&lt;br&gt;*&lt;br&gt;&lt;/font&gt;&lt;a href="mailto:*@version"&gt;&lt;u&gt;&lt;font color="#0000ff" size=3&gt;*@version&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size=3&gt;  1.0.0  2005/10/25&lt;br&gt;*&lt;br&gt;&lt;/font&gt;&lt;a href="mailto:*@deprecated"&gt;&lt;u&gt;&lt;font color="#0000ff" size=3&gt;*@deprecated&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size=3&gt;      &lt;br&gt;长文章分页&lt;br&gt;edit  2005/10/26 add function is _delNull()&lt;br&gt;*/&lt;br&gt;class stringPage&lt;br&gt;{&lt;br&gt; var $sumpage  = 0;//看此篇文章有多少页&lt;br&gt; var $showPage = 0;//要显示那段&lt;br&gt; var $curPage  = 0;//当前显示段&lt;br&gt; var $content  = array();//内容存储数组&lt;br&gt; var $file;     //设置传输页&lt;br&gt; var $pvar;&lt;br&gt; var $format;   //设置分隔符号&lt;br&gt; /*&lt;br&gt; param $text    要分隔的文本&lt;br&gt; param $format  分割符号&lt;br&gt; */&lt;br&gt; function stringPage($text,$format='&amp;lt;&lt;/font&gt;&lt;a href="mailto:!--@--&amp;gt;'"&gt;&lt;u&gt;&lt;font color="#0000ff" size=3&gt;!--@--&amp;gt;'&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size=3&gt;)&lt;br&gt; {&lt;br&gt;  $this-&amp;gt;content = $this-&amp;gt;_delNull( explode($format,$text) );&lt;br&gt;  //去掉空元素，并去掉相同的元素&lt;br&gt;  //$this-&amp;gt;content = $this-&amp;gt;_delNull( array_unique( explode($format,$text) ) );&lt;br&gt;  $this-&amp;gt;sumpage = count($this-&amp;gt;content);&lt;br&gt;  $this-&amp;gt;format  = $format;&lt;br&gt; }&lt;br&gt; function _delNull($array)&lt;br&gt; {&lt;br&gt;  $temp=array();&lt;br&gt;  $f=&amp;quot;/^(&amp;amp;nbsp|&amp;lt;p&amp;gt;|&amp;amp;nbsp;){0,}$/&amp;quot;;&lt;br&gt;  for($i=0;$i&amp;lt;count($array);$i++)&lt;br&gt;  {&lt;br&gt;   if(!preg_match_all($f,$array[$i],$out))&lt;br&gt;   {&lt;br&gt;    $temp[]=$array[$i];&lt;br&gt;   }&lt;br&gt;  }&lt;br&gt;  return $temp;&lt;br&gt; }&lt;br&gt; function show($file='',$pvar='')&lt;br&gt; {&lt;br&gt;  $this-&amp;gt;file = empty($file)? $HTTP_SERVER_VARS['PHP_SELF'] : $file ;&lt;br&gt;  $this-&amp;gt;pvar = empty($pvar)? 'apage' : $pvar;&lt;br&gt;  $p = $_GET[$this-&amp;gt;pvar];&lt;br&gt;  $p = ( $p=='')? 1 : $p;  &lt;br&gt;  $this-&amp;gt;curPage = $p;&lt;br&gt;  $tmp='';&lt;br&gt;  //$tmp.= $this-&amp;gt;_showHead();&lt;br&gt;  $tmp.= $this-&amp;gt;content[$this-&amp;gt;curPage-1];&lt;br&gt;  $tmp.= $this-&amp;gt;_showFoot();&lt;br&gt;  return $tmp;&lt;br&gt;  //echo $this-&amp;gt;_showFoot();&lt;br&gt; }&lt;br&gt; function _makeUrl($url)&lt;br&gt; {&lt;br&gt;  $arrayUrl=parse_url($url);&lt;br&gt;  $q=$arrayUrl['query'];&lt;br&gt;  if(strpos($q,$this-&amp;gt;pvar)===false)&lt;br&gt;  {&lt;br&gt;   return $url.'&amp;amp;'.$this-&amp;gt;pvar.&amp;quot;=&amp;quot;;   &lt;br&gt;  }else{&lt;br&gt;   $url=explode('=',$q);&lt;br&gt;   $url[count($url)-1]='';&lt;br&gt;   //$arrayUrl['query']=implode('=',$url);&lt;br&gt;   return $this-&amp;gt;file.'?'.implode('=',$url);&lt;br&gt;  }&lt;br&gt; }&lt;br&gt; function _showHead()&lt;br&gt; {&lt;br&gt;  $url=$this-&amp;gt;_makeUrl($_SERVER[&amp;quot;REQUEST_URI&amp;quot;]);&lt;br&gt;  $upPage=$this-&amp;gt;curPage-1;&lt;br&gt;  $downPage=$this-&amp;gt;curPage+1;&lt;br&gt;  $head=&amp;quot;&amp;lt;dir class='article_bar'&amp;gt;&amp;quot;;&lt;br&gt;  if($this-&amp;gt;curPage&amp;gt;1&amp;amp;&amp;amp;$this-&amp;gt;curPage&amp;gt;0)&lt;br&gt;  {&lt;br&gt;   $head.= &amp;quot;&amp;lt;a href=&amp;quot;.$url.$upPage.&amp;quot;&amp;gt;上一页&amp;lt;/a&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;;&lt;br&gt;  }&lt;br&gt;  if($this-&amp;gt;sumpage&amp;gt;1&amp;amp;&amp;amp;$this-&amp;gt;curPage&amp;lt;$this-&amp;gt;sumpage)&lt;br&gt;  {&lt;br&gt;   $head.= &amp;quot;&amp;lt;a href=&amp;quot;.$url.$downPage.&amp;quot;&amp;gt;下一页&amp;lt;/a&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;quot;;&lt;br&gt;  }&lt;br&gt;  $head.=&amp;quot;第{$this-&amp;gt;curPage}页&amp;amp;nbsp;&amp;amp;nbsp;共{$this-&amp;gt;sumpage}页&amp;quot;;&lt;br&gt;  $head.=&amp;quot;&amp;lt;/dir&amp;gt;&amp;quot;;&lt;br&gt;  return $head;&lt;br&gt; }&lt;br&gt; function _showFoot()&lt;br&gt; {&lt;br&gt;  return $this-&amp;gt;_showHead();&lt;br&gt; }&lt;br&gt;}&lt;br&gt;?&amp;gt;&lt;br&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;&amp;lt;?php&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;//使用&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;$p=new  stringPage($print_content);&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;echo $p-&amp;gt;show();&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;?&amp;gt;&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;所使用的js&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;//取得鼠标的位置&lt;br&gt;function GetCursorPos(oTextArea) &lt;br&gt;{ &lt;br&gt;var s=&amp;quot;&lt;/font&gt;&lt;a href="mailto:~!@#$%"&gt;&lt;u&gt;&lt;font color="#0000ff" size=3&gt;~!@#$%&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size=3&gt;^&amp;quot;;&lt;br&gt;clipboardData.setData('text',s); &lt;br&gt;oTextArea.focus(); &lt;br&gt;document.execCommand('paste'); &lt;br&gt;var ret=oTextArea.value.indexOf(s); &lt;br&gt;document.execCommand('undo'); &lt;br&gt;if(ret==-1) GetCursorPos(oTextArea)&lt;br&gt;return ret; &lt;br&gt;}&lt;br&gt;function addtext(content)&lt;br&gt;{&lt;br&gt; var len=GetCursorPos(content);&lt;br&gt; var all = hxf.content.value;&lt;br&gt; //alert(len);&lt;br&gt; if(len&amp;gt;0 &amp;amp;&amp;amp; len!=all.length)&lt;br&gt; {&lt;br&gt;  &lt;br&gt;  //alert(hxf.content.value.length);&lt;br&gt;  var old1= all.substring(0,len);&lt;br&gt;  var old2= all.substring(len,all.length);&lt;br&gt;  var format=&amp;quot;&amp;lt;?=$FORMAT?&amp;gt;&amp;quot;;&lt;br&gt;  var tmp=old1+format+old2;&lt;br&gt;  hxf.content.value=tmp;&lt;br&gt;  var r=content.createTextRange();&lt;br&gt;  r.moveStart('character',len);&lt;br&gt;  r.collapse(true);  &lt;br&gt;        r.select();&lt;br&gt;  //alert();&lt;br&gt;  //setCaretAtEnd(content);&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;  //hxf.content.focus();&lt;br&gt; }else if(len==0){&lt;br&gt;  alert(&amp;quot;不能在文章首设置分页！&amp;quot;);&lt;br&gt; }else if(len==all.length)&lt;br&gt; {&lt;br&gt;  alert(&amp;quot;不能在文章尾设置分页！&amp;quot;);&lt;br&gt; }&lt;br&gt;}&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;页面使用&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;&amp;lt;input type=&amp;quot;button&amp;quot; name=&amp;quot;pagep&amp;quot; value=&amp;quot;设置分页&amp;quot; onclick=&amp;quot;addtext(content)&amp;quot; &amp;gt; &lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;传递文本区域的在表单里的名称！&lt;/font&gt;&lt;/span&gt;
&lt;div&gt;&lt;font size=3&gt;&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+%5bPHP%5d+%e9%95%bf%e6%96%87%e7%ab%a0%e5%88%86%e9%a1%b5%e7%b1%bb&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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!137.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!137.entry</guid><pubDate>Fri, 02 Dec 2005 08:55: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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!137/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!137.entry#comment</wfw:comment><dcterms:modified>2005-12-07T04:16:55Z</dcterms:modified></item><item><title>[PHP] 静态文件生成类</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!135.entry</link><description>&lt;div&gt;&lt;font size=3&gt;&lt;span&gt;&amp;lt;?php&lt;br&gt;class CreateHtml&lt;br&gt;{&lt;br&gt; function mkdir( $prefix= 'article' )&lt;br&gt; {&lt;br&gt;  $y = date('Y');&lt;br&gt;  $m = date('m');&lt;br&gt;  $d = date('d');&lt;br&gt;  $p=DIRECTORY_SEPARATOR;&lt;br&gt;  $filePath='article'.$p.$y.$p.$m.$p.$d;&lt;br&gt;  $a=explode($p,$filePath);&lt;br&gt;  foreach ( $a as $dir)&lt;br&gt;  {&lt;br&gt;   $path.=$dir.$p;&lt;br&gt;   if(!is_dir($path))&lt;br&gt;   {&lt;br&gt;    //echo '没有这个目录'.$path;&lt;br&gt;    mkdir($path,0755);&lt;br&gt;   }&lt;br&gt;  }&lt;br&gt;  return $filePath.$p;  &lt;br&gt; }&lt;br&gt; function start()&lt;br&gt; {&lt;br&gt;  ob_start();&lt;br&gt; }&lt;br&gt; function end()&lt;br&gt; {&lt;br&gt;  $info     = ob_get_contents();&lt;br&gt;  $fileId   = '12345';&lt;br&gt;  $postfix  = '.html';&lt;br&gt;  $path     = $this-&amp;gt;mkdir($prefix= 'article');&lt;br&gt;  $fileName = time().'_'.$fileId.$postfix;&lt;br&gt;  $file=fopen($path.$fileName,'w+');&lt;br&gt;  fwrite($file,$info);&lt;br&gt;  fclose($file);&lt;br&gt;  ob_end_flush();&lt;br&gt; }&lt;br&gt;}&lt;br&gt;?&amp;gt;&lt;br&gt;&amp;lt;?php&lt;br&gt;$s=new CreateHtml();&lt;br&gt;$s-&amp;gt;start();&lt;br&gt;?&amp;gt;&lt;br&gt;&amp;lt;html&amp;gt;&lt;br&gt;&amp;lt;body&amp;gt;&lt;br&gt;asdfasdfasdfasdfasdfasdfasdfasdfasdf&amp;lt;br&amp;gt;&lt;br&gt;adfasdfasdf&amp;lt;br&amp;gt;&lt;br&gt;&amp;lt;/body&amp;gt;&amp;gt;&lt;br&gt;&amp;lt;/html&amp;gt;&lt;br&gt;&amp;lt;?php&lt;br&gt;$s-&amp;gt;end();&lt;br&gt;?&amp;gt;&lt;/span&gt; &lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+%5bPHP%5d+%e9%9d%99%e6%80%81%e6%96%87%e4%bb%b6%e7%94%9f%e6%88%90%e7%b1%bb&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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!135.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!135.entry</guid><pubDate>Fri, 02 Dec 2005 08:51: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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!135/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!135.entry#comment</wfw:comment><dcterms:modified>2005-12-07T04:32:06Z</dcterms:modified></item><item><title>[PHP] PHP生成静态页面详解</title><link>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!126.entry</link><description>&lt;div&gt;&lt;font size=3&gt;版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明&lt;br&gt;本文出自:http://www.otm.cn 作者：Matrix@Two_Max&lt;br&gt;&lt;br&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size=3&gt;我们先回顾一些基本的概念。&lt;br&gt;&lt;br&gt;　　一，PHP脚本与动态页面。&lt;br&gt;&lt;br&gt;　　PHP脚本是一种服务器端脚本程序，可通过嵌入等方法与HTML文件混合，也可以类，函数封装等形式，以模板的方式对用户请求进行处理。无论以何种方式，它的基本原理是这样的。由客户端提出请求，请求某一页面　-----&amp;gt;　WEB服务器引入指定相应脚本进行处理　-----&amp;gt;　脚本被载入服务器　-----&amp;gt;　由服务器指定的PHP解析器对脚本进行解析形成HTML语言形式　----&amp;gt;　将解析后的HTML语句以包的方式传回给浏览器。由此不难看出，在页面发送到浏览器后，PHP就不存在了，已被转化解析为HTML语句。客户请求为一动态文件，事实上并没有真正的文件存在在那里，是PHP解析而成相对应的页面，然后发送回浏览器。这种页面处理方式被称为“动态页面”。&lt;br&gt;&lt;br&gt;　　二，静态页面。&lt;br&gt;&lt;br&gt;　　静态页面是指在服务器端确实存在的仅含HTML以及JS，CSS等客户端运行脚本的页面。它的处理方式是。由客户端提出请求，请求某一页面　----&amp;gt;　WEB服务器确认并载入某一页面　----&amp;gt;　WEB服务器将该页面以包的形式传递回浏览器。由这一过程，我们对比一下动态页面，即可方现。动态页面需由WEB服务器的PHP解析器进行解析，而且通常还需连接数据库，进行数据库存取操作，然后才能形成HTML语言信息包；而静态页面，无须解析，无须连接数据库，直接发送，可大大减轻服务器压力，提高服务器负载能力，大幅提供页面打开速度和网站整体打开速度。但其缺点是，不能动态地对请求进行处理，服务器上必须确实存在该文件。&lt;br&gt;&lt;br&gt;　　三，模板及模板解析。&lt;br&gt;&lt;br&gt;　　模板即尚未填充内容html文件。例如：&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;　temp.html&lt;br&gt;&lt;br&gt;&lt;/font&gt;
&lt;table cellspacing=0 cellpadding=0 width="90%" border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size=3&gt;  Code:&lt;/font&gt;
&lt;td align=right&gt;&lt;font size=3&gt;  &lt;/font&gt;
&lt;tr&gt;
&lt;td colspan=2&gt;
&lt;table cellspacing=1 cellpadding=10 width="100%" bgcolor="#000000" border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="word-break:break-all" width="100%" bgcolor="#f1f1f1"&gt;&lt;font size=3&gt;&amp;lt;HTML&amp;gt;&lt;br&gt;  &amp;lt;TITLE&amp;gt;{ title }&amp;lt;/TITLE&amp;gt;&lt;br&gt;  &amp;lt;BODY&amp;gt;&lt;br&gt;     this is a { file } file's templets&lt;br&gt;  &amp;lt;/BODY&amp;gt;&lt;br&gt;&amp;lt;/HTML&amp;gt;&lt;/font&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;font size=3&gt;PHP处理：&lt;br&gt;&lt;br&gt;　templetest.php&lt;br&gt;&lt;br&gt;&lt;/font&gt;
&lt;table cellspacing=0 cellpadding=0 width="90%" border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size=3&gt;  Code:&lt;/font&gt;
&lt;td align=right&gt;&lt;font size=3&gt;  &lt;/font&gt;
&lt;tr&gt;
&lt;td colspan=2&gt;
&lt;table cellspacing=1 cellpadding=10 width="100%" bgcolor="#000000" border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="word-break:break-all" width="100%" bgcolor="#f1f1f1"&gt;&amp;lt;?php&lt;br&gt;&lt;font size=3&gt;  $title = &amp;quot;PHP爱好者测试模板&amp;quot;;&lt;br&gt;  $file   = &amp;quot;TwoMax Inter test templet,&lt;br&gt;author：Sheyi&amp;quot;;&lt;br&gt;&lt;br&gt;　$fp          = fopen (&amp;quot;temp.html&amp;quot;,&amp;quot;r&amp;quot;);&lt;br&gt;  $content  = fread ($fp,filesize (&amp;quot;temp.html&amp;quot;));&lt;br&gt;  $content .= str_replace (&amp;quot;{ file }&amp;quot;,$file,$content);&lt;br&gt;  $content .= str_replace (&amp;quot;{ title }&amp;quot;,$title,$content);&lt;br&gt;&lt;br&gt;  echo $content;&lt;br&gt;?&amp;gt; &lt;br&gt;&lt;/font&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;font size=3&gt;　　模板解析处理，即将经PHP脚本解析处理后得出的结果填充(content)进模板的处理过程。通常借助于模板类。目前较流行的模板解析类有phplib，smarty，fastsmarty等等。模板解析处理的原理通常为替换。也有些程序员习惯将判断，循环等处理放进模板文件中，用解析类处理，典型应用为block概念，简单来说即为一个循环处理。由PHP脚本指定循环次数，如何循环代入等，再由模板解析类具体实施这些操作。&lt;br&gt;&lt;br&gt;&lt;br&gt;　　好了，对比过静态页面与动态页面各自的优劣，现在我们就来说说，如何用PHP生成静态文件。&lt;br&gt;&lt;br&gt;&lt;br&gt;　　PHP生成静态页面并不是指PHP的动态解析，输出HTML页面，而是指用PHP创建HTML页面。同时因为HTML的不可写性，我们创建的HTML若有修改，则需删掉重新生成即可。(当然你也可以选择用正则进行修改，但个人认为那样做倒不如删掉重新生成来得快捷，有些得不偿失。)&lt;br&gt;&lt;br&gt;　　言归正传。用过PHP文件操作函数的PHP FANS知道，PHP中有一个文件操作函数fopen，即打开文件。若文件不存在，则尝试创建。这即是PHP可以用来创建HTML文件的理论基础。只要用来存放HTML文件的文件夹有写权限(即权限定义0777)，即可创建文件。（针对UNIX系统而言，Win系统无须考虑。）仍以上例为例，若我们修改最后一句，并指定在test目录下生成一个名为test.html的静态文件：&lt;br&gt;&lt;br&gt;&lt;/font&gt;
&lt;table cellspacing=0 cellpadding=0 width="90%" border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size=3&gt;  Code:&lt;/font&gt;
&lt;td align=right&gt;&lt;font size=3&gt;  &lt;/font&gt;
&lt;tr&gt;
&lt;td colspan=2&gt;
&lt;table cellspacing=1 cellpadding=10 width="100%" bgcolor="#000000" border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="word-break:break-all" width="100%" bgcolor="#f1f1f1"&gt;&amp;lt;?php&lt;br&gt;&lt;font size=3&gt;  $title = &amp;quot;拓迈国际测试模板&amp;quot;;&lt;br&gt;  $file   = &amp;quot;TwoMax Inter test templet,&lt;br&gt;author：Matrix@Two_Max&amp;quot;;&lt;br&gt;&lt;br&gt;　$fp          = fopen (&amp;quot;temp.html&amp;quot;,&amp;quot;r&amp;quot;);&lt;br&gt;  $content  = fread ($fp,filesize (&amp;quot;temp.html&amp;quot;));&lt;br&gt;  $content .= str_replace (&amp;quot;{ file }&amp;quot;,$file,$content);&lt;br&gt;  $content .= str_replace (&amp;quot;{ title }&amp;quot;,$title,$content);&lt;br&gt;&lt;br&gt;  // echo $content;&lt;br&gt;  &lt;br&gt;  $filename = &amp;quot;test/test.html&amp;quot;;&lt;br&gt;  $handle    = fopen ($filename,&amp;quot;w&amp;quot;); //打开文件指针，创建文件&lt;br&gt;  /*&lt;br&gt;　检查文件是否被创建且可写&lt;br&gt;  */&lt;br&gt;  if (!is_writable ($filename)){ &lt;br&gt;     die (&amp;quot;文件：&amp;quot;.$filename.&amp;quot;不可写，请检查其属性后重试！&amp;quot;);&lt;br&gt;  }&lt;br&gt;  if (!fwrite ($handle,$content)){  //将信息写入文件&lt;br&gt;     die (&amp;quot;生成文件&amp;quot;.$filename.&amp;quot;失败！&amp;quot;);&lt;br&gt;  } &lt;br&gt;  fclose ($handle); //关闭指针&lt;br&gt;  &lt;br&gt;  die (&amp;quot;创建文件&amp;quot;.$filename.&amp;quot;成功！&amp;quot;);&lt;br&gt;?&amp;gt;  &lt;/font&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;font size=3&gt;　　实际应用中常见问题解决方案参考：&lt;br&gt;&lt;br&gt;　　一，文章列表问题：&lt;br&gt;　　&lt;br&gt;　　在数据库中创建字段，记录文件名，每生成一个文件，将自动生成的文件名存入数据库，对于推荐文章，只需指向存放静态文件的指定文件夹中的该页面即可。利用PHP操作处理文章列表，存为字符串，生成页面时替换此字符串即可。如，在页面中放置文章列表的表格加入标记{ articletable }，而在PHP处理文件中：&lt;br&gt;&lt;br&gt;&lt;/font&gt;
&lt;table cellspacing=0 cellpadding=0 width="90%" border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size=3&gt;  Code:&lt;/font&gt;
&lt;td align=right&gt;&lt;font size=3&gt;  &lt;/font&gt;
&lt;tr&gt;
&lt;td colspan=2&gt;
&lt;table cellspacing=1 cellpadding=10 width="100%" bgcolor="#000000" border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="word-break:break-all" width="100%" bgcolor="#f1f1f1"&gt;&amp;lt;?php&lt;br&gt;&lt;font size=3&gt;  $title = &amp;quot;拓迈国际测试模板&amp;quot;;&lt;br&gt;  $file   = &amp;quot;TwoMax Inter test templet,&lt;br&gt;author：Matrix@Two_Max&amp;quot;;&lt;br&gt;&lt;br&gt;　$fp          = fopen (&amp;quot;temp.html&amp;quot;,&amp;quot;r&amp;quot;);&lt;br&gt;  $content  = fread ($fp,filesize (&amp;quot;temp.html&amp;quot;));&lt;br&gt;  $content .= str_replace (&amp;quot;{ file }&amp;quot;,$file,$content);&lt;br&gt;  $content .= str_replace (&amp;quot;{ title }&amp;quot;,$title,$content);&lt;br&gt;  &lt;br&gt;  //  生成列表开始&lt;br&gt;  $list = '';&lt;br&gt;  $sql = &amp;quot;select id,title,filename from article&amp;quot;;&lt;br&gt;  $query = mysql_query ($sql);&lt;br&gt;  while ($result = mysql_fetch_array ($query)){ &lt;br&gt;     $list .= '&lt;/font&gt;&lt;a href="http://sheyee.com/archive/2004/08/16/.$root.$result[" target="_blank"&gt;&lt;u&gt;&lt;font color="#0000ff" size=3&gt;'.$result['title'].'&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;br&gt;&lt;font size=3&gt;';&lt;br&gt;  }&lt;br&gt;  $content .= str_replace (&amp;quot;{ articletable }&amp;quot;,$list,$content);&lt;br&gt;  &lt;br&gt;  //生成列表结束&lt;br&gt;  // echo $content;&lt;br&gt;  &lt;br&gt;  $filename = &amp;quot;test/test.html&amp;quot;;&lt;br&gt;  $handle    = fopen ($filename,&amp;quot;w&amp;quot;); //打开文件指针，创建文件&lt;br&gt;  /*&lt;br&gt;　检查文件是否被创建且可写&lt;br&gt;  */&lt;br&gt;  if (!is_writable ($filename)){ &lt;br&gt;     die (&amp;quot;文件：&amp;quot;.$filename.&amp;quot;不可写，请检查其属性后重试！&amp;quot;);&lt;br&gt;  }&lt;br&gt;  if (!fwrite ($handle,$content)){  //将信息写入文件&lt;br&gt;     die (&amp;quot;生成文件&amp;quot;.$filename.&amp;quot;失败！&amp;quot;);&lt;br&gt;  } &lt;br&gt;  fclose ($handle); //关闭指针&lt;br&gt;  &lt;br&gt;  die (&amp;quot;创建文件&amp;quot;.$filename.&amp;quot;成功！&amp;quot;);&lt;br&gt;?&amp;gt; &lt;br&gt;&lt;/font&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;font size=3&gt;　　二，分页问题。&lt;br&gt;&lt;br&gt;　　如我们指定分页时，每页20篇。某子频道列表内文章经数据库查询为45条，则，首先我们通过查询得到如下参数：1，总页数；2，每页篇数。第二步，for ($i = 0; $i &amp;lt; allpages; $i++)，页面元素获取，分析，文章生成，都在此循环中执行。不同的是，die (&amp;quot;创建文件&amp;quot;.$filename.&amp;quot;成功！&amp;quot;;这句去掉，放到循环后的显示，因为该语句将中止程序执行。例：&lt;br&gt;&lt;br&gt;&lt;/font&gt;
&lt;table cellspacing=0 cellpadding=0 width="90%" border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;font size=3&gt;  Code:&lt;/font&gt;
&lt;td align=right&gt;&lt;font size=3&gt; &lt;/font&gt;
&lt;tr&gt;
&lt;td colspan=2&gt;
&lt;table cellspacing=1 cellpadding=10 width="100%" bgcolor="#000000" border=0&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="word-break:break-all" width="100%" bgcolor="#f1f1f1"&gt;&amp;lt;?php&lt;br&gt;&lt;font size=3&gt;  $fp          = fopen (&amp;quot;temp.html&amp;quot;,&amp;quot;r&amp;quot;);&lt;br&gt;  $content  = fread ($fp,filesize (&amp;quot;temp.html&amp;quot;));&lt;br&gt;  $onepage  = '20';&lt;br&gt;  $sql          = &amp;quot;select id from article where channel='$channelid'&amp;quot;;&lt;br&gt;  $query      = mysql_query ($sql);&lt;br&gt;  $num        = mysql_num_rows ($query);&lt;br&gt;  $allpages   = ceil ($num / $onepage);&lt;br&gt;&lt;br&gt;  for ($i = 0;$i&amp;lt;$allpages; $i++){ &lt;br&gt;     if ($i == 0){ &lt;br&gt;        $indexpath = &amp;quot;index.html&amp;quot;;&lt;br&gt;      } else { &lt;br&gt;        $indexpath = &amp;quot;index_&amp;quot;.$i.&amp;quot;html&amp;quot;;&lt;br&gt;      }&lt;br&gt;     $start = $i * $onepage;&lt;br&gt;     $list    = '';&lt;br&gt;     $sql_for_page = &amp;quot;select name,filename,title from article where channel='$channelid' limit $start,$onepage&amp;quot;;&lt;br&gt;     $query_for_page = mysql_query ($sql_for_page);&lt;br&gt;     while ($result = $query_for_page){ &lt;br&gt;        $list .= '&lt;/font&gt;&lt;a href="http://sheyee.com/archive/2004/08/16/.$root.$result[" target="_blank"&gt;&lt;u&gt;&lt;font color="#0000ff" size=3&gt;'.$title.'&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;br&gt;&lt;font size=3&gt;';&lt;br&gt;      }&lt;br&gt;     &lt;br&gt;     $content = str_replace (&amp;quot;{ articletable }&amp;quot;,$list,$content);&lt;br&gt;&lt;br&gt;     if (is_file ($indexpath)){ &lt;br&gt;        @unlink ($indexpath); //若文件已存在，则删除&lt;br&gt;      }&lt;br&gt;&lt;br&gt;     $handle    = fopen ($indexpath,&amp;quot;w&amp;quot;); //打开文件指针，创建文件&lt;br&gt;     /*&lt;br&gt;　   检查文件是否被创建且可写&lt;br&gt;     */&lt;br&gt;     if (!is_writable ($indexpath)){ &lt;br&gt;        echo &amp;quot;文件：&amp;quot;.$indexpath.&amp;quot;不可写，请检查其属性后重试！&amp;quot;; //修改为echo&lt;br&gt;      }&lt;br&gt;     if (!fwrite ($handle,$content)){  //将信息写入文件&lt;br&gt;        echo &amp;quot;生成文件&amp;quot;.$indexpath.&amp;quot;失败！&amp;quot;; //修改为echo&lt;br&gt;      } &lt;br&gt;     fclose ($handle); //关闭指针&lt;br&gt;  }&lt;br&gt;&lt;br&gt;  fclose ($fp);&lt;br&gt;  die (&amp;quot;生成分页文件完成，如生成不完全，请检查文件权限系统后重新生成！&amp;quot;);&lt;br&gt;&lt;br&gt;?&amp;gt;  &lt;/font&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;font size=3&gt;　　大致思路如此，其中如其它数据生成，数据输入输出检查，分页内容指向等可酌情在页面中加入。&lt;br&gt;&lt;br&gt;　　在实际文章系统处理过程当中，还有许多问题有待考虑，与动态页面不同之处，需注意的地方还有很多。但大致思路即是如此，其它方面可举一反三而得。&lt;/font&gt;&lt;/div&gt;&lt;img src="http://c.services.spaces.live.com/CollectionWebService/c.gif?cid=-8913911617972053559&amp;page=RSS%3a+%5bPHP%5d+PHP%e7%94%9f%e6%88%90%e9%9d%99%e6%80%81%e9%a1%b5%e9%9d%a2%e8%af%a6%e8%a7%a3&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=miaomin.spaces.live.com&amp;amp;GT1=miaomin"&gt;</description><comments>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!126.entry#comment</comments><guid isPermaLink="true">http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!126.entry</guid><pubDate>Wed, 23 Nov 2005 02:38:04 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://miaomin.spaces.live.com/blog/cns!844B6C9C838C59C9!126/comments/feed.rss</wfw:commentRss><wfw:comment>http://miaomin.spaces.live.com/Blog/cns!844B6C9C838C59C9!126.entry#comment</wfw:comment><dcterms:modified>2005-12-07T04:34:16Z</dcterms:modified></item></channel></rss>