<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LeNgHoSt的小窝 &#187; PHP</title>
	<atom:link href="http://www.lenghost.cn/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lenghost.cn</link>
	<description>I did it my way, 'Cause it's my life!</description>
	<lastBuildDate>Tue, 08 Nov 2011 23:39:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>美国2G免费空间PHP+MYSQL</title>
		<link>http://www.lenghost.cn/site-news/free-webspace-2gb-php-mysql/</link>
		<comments>http://www.lenghost.cn/site-news/free-webspace-2gb-php-mysql/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 14:49:02 +0000</pubDate>
		<dc:creator>LeNgHoSt</dc:creator>
				<category><![CDATA[站点日志]]></category>
		<category><![CDATA[MYSQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[免费空间]]></category>

		<guid isPermaLink="false">http://www.lenghost.cn/?p=910</guid>
		<description><![CDATA[经验证不支持亚洲用户注册，购买开通后几个小时就会被删除帐号
2G空间免费PHP+MYSQL空间 不支持ASP
cPanel中文面板
可绑定国际域名
探针：http://lengtest.mycpanel.co.uk/phpinfo.php
WordPress演示：http://lengtest.mycpanel.co.uk/
 不建议存放重要数据和正规网站
建议用来测试网站程序或模板
理论上可一直用到提供空间的公司倒闭为止
帐号开通后请尽快好评
后台使用教程请参考 http://www.cpanel123.com

]]></description>
			<content:encoded><![CDATA[<p><span style="color: #ff0000;">经验证不支持亚洲用户注册，购买开通后几个小时就会被删除帐号</span></p>
<p><span style="text-decoration: line-through;">2G空间免费PHP+MYSQL空间 <span style="color: #ff0000;">不支持ASP</span><br />
cPanel中文面板<br />
可绑定国际域名<br />
探针：http://lengtest.mycpanel.co.uk/phpinfo.php<br />
WordPress演示：http://lengtest.mycpanel.co.uk/<br />
<span style="color: #0000ff;"> 不建议存放重要数据和正规网站<br />
建议用来测试网站程序或模板</span><br />
理论上可一直用到提供空间的公司倒闭为止<br />
帐号开通后请尽快好评<br />
后台使用教程请参考 http://www.cpanel123.com</span><span style="color: #ff0000;"><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lenghost.cn/site-news/free-webspace-2gb-php-mysql/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>eXtplorer：基于PHP和Javascript的资源管理器</title>
		<link>http://www.lenghost.cn/software/extplorer-base-on-php-and-javascript/</link>
		<comments>http://www.lenghost.cn/software/extplorer-base-on-php-and-javascript/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 14:50:43 +0000</pubDate>
		<dc:creator>LeNgHoSt</dc:creator>
				<category><![CDATA[软件推荐]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[资源管理器]]></category>

		<guid isPermaLink="false">http://www.lenghost.cn/?p=847</guid>
		<description><![CDATA[今天介绍一款基于PHP和JS的资源管理器： eXtplorer 。它是可以下载下来安装到自己服务器的在线文件管理程序，是我见过功能强大的，它是基于 PHP 和 ExtJS Javascript 库创建的。使用 eXtplorer 可以在线浏览文件和文件夹之外，我们甚至可以将 eXtplorer 作为 FTP 客户端去登录 FTP 服务器。

eXtplorer：基于 PHP 和 Javascript 的文件管理程序

eXtplorer 的详细功能
可以通过鼠标拖拉复制和移动文件和文件夹
动态的目录树，并且能够根据需要显示子目录
可以在线修改文件，并且代码高亮显示
可以重命名，删除和创建文件和文件夹
可以通过 FTP 方式或者直接访问文件
并且可以修改文件的权限和属性
可以上传和下载文件
可以压缩文件，或者解开压缩包，支持 ZIP, Tar, Tar/GZ, Tar/BZ 四种格式
可以创建多个用户，并且可以给用户赋予不同的权限，如只能“浏览”，
“编辑”和“管理”
现在还可以作为 Joomla! 和 Mambo 这两个 CMS 程序的部件，不过遗憾还没有 WordPress 方面的插件。
安装 eXtplorer
安装 eXtplorer 需要以下几步：
首先你要确保你服务器的 PHP 版本&#62;4.3
解压缩下载下来的压缩包
使用你的 FTP 客户端上传源代码到服务器上的某个目录下 如 /extplorer
设置 extplorer 的目录可写，并且设置 /ftp_tmp 目录的权限为 777
在浏览器访问 http://……/extplorer （默认帐号和密码都是 admin），他会弹出一个框让你里修改密码。一定要修改，不然让人获取权限，就可以删除你服务器上所有文件。
如果你不能修改你的 admin 密码，可能是因为你的用户文件不可写，在 [...]]]></description>
			<content:encoded><![CDATA[<p>今天介绍一款基于PHP和JS的资源管理器： <strong><a href="http://extplorer.sourceforge.net/" target="_blank">eXtplorer</a></strong> 。它是可以下载下来安装到自己服务器的<strong>在线文件管理程序</strong>，是我见过功能强大的，它是基于 PHP 和 ExtJS Javascript 库创建的。使用 eXtplorer 可以在线浏览文件和文件夹之外，我们甚至可以将 eXtplorer 作为 FTP 客户端去登录 FTP 服务器。<br />
<img src="http://www.lenghost.cn/wp-content/uploads/2009/11/0649509tn.jpg" alt="eXphlorer：基于 PHP 和 Javascript 的文件管理程序" /><br />
eXtplorer：基于 PHP 和 Javascript 的文件管理程序<br />
<span id="more-847"></span><br />
<strong>eXtplorer 的详细功能</strong><br />
可以通过鼠标拖拉复制和移动文件和文件夹<br />
动态的目录树，并且能够根据需要显示子目录<br />
可以在线修改文件，并且代码高亮显示<br />
可以重命名，删除和创建文件和文件夹<br />
可以通过 FTP 方式或者直接访问文件<br />
并且可以修改文件的权限和属性<br />
可以上传和下载文件<br />
可以压缩文件，或者解开压缩包，支持 ZIP, Tar, Tar/GZ, Tar/BZ 四种格式<br />
可以创建多个用户，并且可以给用户赋予不同的权限，如只能“浏览”，<br />
“编辑”和“管理”<br />
现在还可以作为 Joomla! 和 Mambo 这两个 CMS 程序的部件，不过遗憾还没有 WordPress 方面的插件。</p>
<p><strong>安装 eXtplorer</strong><br />
安装 eXtplorer 需要以下几步：<br />
首先你要确保你服务器的 PHP 版本&gt;4.3<br />
解压缩下载下来的压缩包<br />
使用你的 FTP 客户端上传源代码到服务器上的某个目录下 如<em> /extplorer</em><br />
设置 <em>extplorer</em> 的目录可写，并且设置<em> /ftp_tmp</em> 目录的权限为 777<br />
在浏览器访问 <em>http://……/extplorer </em>（默认帐号和密码都是 admin），他会弹出一个框让你里修改密码。一定要修改，不然让人获取权限，就可以删除你服务器上所有文件。</p>
<p>如果你不能修改你的 admin 密码，可能是因为你的用户文件不可写，在 FTP 中，把 /config 目录下的 &#8220;.htusers.php&#8221; 文件设置为可写。</p>
<p>下载：<a href="http://extplorer.sourceforge.net/" target="_blank">eXtplorer</a><br />
原文：<a href="http://fairyfish.net/2009/10/14/extplorer/" target="_blank">eXtplorer：基于 PHP 和 Javascript 的文件管理程序</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lenghost.cn/software/extplorer-base-on-php-and-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>简单的自动添加(更新)sitemap的php代码</title>
		<link>http://www.lenghost.cn/original/simple-auto-update-sitemap-php-code/</link>
		<comments>http://www.lenghost.cn/original/simple-auto-update-sitemap-php-code/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 10:17:03 +0000</pubDate>
		<dc:creator>LeNgHoSt</dc:creator>
				<category><![CDATA[原创作品]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SimpleXML]]></category>
		<category><![CDATA[sitemap]]></category>
		<category><![CDATA[代码]]></category>

		<guid isPermaLink="false">http://www.lenghost.cn/?p=835</guid>
		<description><![CDATA[之前的那个免费小说网 &#8211; http://www.cobeta.com收录一直不理想，几乎没什么流量。因为内容太庞大，原站搜索引擎收录有6位数，我曾经试过用软件生成sitemap，但速度太慢，跑一个小时才近千个链接。后来就有了这个想法，干脆让网站自动更新sitemap文件，于是上网搜索了php操作xml文件的相关教程，最后用PHP5自带的SimpleXML实现了该功能。

什么是 SimpleXML？
SimpleXML 是 PHP 5 中的新特性。在了解 XML 文档 layout 的情况下，它是一种取得元素属性和文本的便利途径。
与 DOM 或 Expat 解析器相比，SimpleXML 仅仅用几行代码就可以从元素中读取文本数据。
SimpleXML 可把 XML 文档转换为对象，比如：
元素 &#8211; 被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时，它们会被置于数组中。
属性 &#8211; 通过使用关联数组进行访问，其中的下标对应属性名称。
元素数据 &#8211; 来自元素的文本数据被转换为字符串。如果一个元素拥有多个文本节点，则按照它们被找到的顺序进行排列。 
当执行类似下列的基础任务时，SimpleXML 使用起来非常快捷：
读取 XML 文件
从 XML 字符串中提取数据
编辑文本节点或属性
不过，在处理高级 XML 时，比如命名空间，最好使用 Expat 解析器或 XML DOM。


以下代码实现向已有sitemap.xml文件中添加或更新内容。
如果网站内容很多，网址多了，sitemap.xml会变的很大，不知道读取写入速度会不会太慢。Google官方规定sitemap.xml里最多50000条地址，文件大小不得超过10MB。
P.S.我的免费小说网内容应该远远超过这个限制了，不过现在流量还很少，估计一时半会还到不了50000条地址，呵呵，到时候再改进下代码看看。
$xml=simplexml_load_file('sitemap.xml');$update=0;$xml_url=0;foreach($xml-&#62;url as $xml_url){&#160;&#160; &#160;if((string)$xml_url-&#62;loc==$xmlurl){&#160;&#160; &#160; &#160; &#160;$update=1;&#160;&#160; &#160; &#160; &#160;break;&#160;&#160; &#160;}}if($update==1)&#160;&#160; &#160;$xml_url-&#62;lastmod=date('c');else{&#160;&#160; &#160;$xml_url=$xml-&#62;addChild('url');&#160;&#160; &#160;$xml_url-&#62;addChild('loc',$xmlurl);&#160;&#160; &#160;$xml_url-&#62;addChild('lastmod',date('c'));&#160;&#160; &#160;$xml_url-&#62;addChild('changefreq','daily');&#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>之前的那个<a href="http://www.cobeta.cn/">免费小说网 &#8211; http://www.cobeta.com</a>收录一直不理想，几乎没什么流量。因为内容太庞大，原站搜索引擎收录有6位数，我曾经试过用软件生成sitemap，但速度太慢，跑一个小时才近千个链接。后来就有了这个想法，干脆让网站自动更新sitemap文件，于是上网搜索了php操作xml文件的相关教程，最后用PHP5自带的SimpleXML实现了该功能。</p>
<blockquote><p>
什么是 SimpleXML？<br />
SimpleXML 是 PHP 5 中的新特性。在了解 XML 文档 layout 的情况下，它是一种取得元素属性和文本的便利途径。<br />
与 DOM 或 Expat 解析器相比，SimpleXML 仅仅用几行代码就可以从元素中读取文本数据。</p>
<p>SimpleXML 可把 XML 文档转换为对象，比如：<br />
<strong>元素</strong> &#8211; 被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时，它们会被置于数组中。<br />
<strong>属性</strong> &#8211; 通过使用关联数组进行访问，其中的下标对应属性名称。<br />
<strong>元素数据</strong> &#8211; 来自元素的文本数据被转换为字符串。如果一个元素拥有多个文本节点，则按照它们被找到的顺序进行排列。 </p>
<p>当执行类似下列的基础任务时，SimpleXML 使用起来非常快捷：<br />
<em>读取 XML 文件</em><br />
<em>从 XML 字符串中提取数据</em><br />
<em>编辑文本节点或属性</em><br />
不过，在处理高级 XML 时，比如命名空间，最好使用 Expat 解析器或 XML DOM。
</p></blockquote>
<p><span id="more-835"></span><br />
以下代码实现向已有sitemap.xml文件中添加或更新内容。<br />
如果网站内容很多，网址多了，sitemap.xml会变的很大，不知道读取写入速度会不会太慢。Google官方规定sitemap.xml里最多50000条地址，文件大小不得超过10MB。<br />
P.S.我的免费小说网内容应该远远超过这个限制了，不过现在流量还很少，估计一时半会还到不了50000条地址，呵呵，到时候再改进下代码看看。</p>
<div class="hl-surround"><div class="hl-main"><span style="color: #00008b;">$xml</span><span style="color: Gray;">=</span><span style="color: Blue;">simplexml_load_file</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">sitemap.xml</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: #00008b;">$update</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;<br /></span><span style="color: #00008b;">$xml_url</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;<br /></span><span style="color: Green;">foreach</span><span style="color: Olive;">(</span><span style="color: #00008b;">$xml</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">url</span><span style="color: Gray;"> </span><span style="color: Green;">as</span><span style="color: Gray;"> </span><span style="color: #00008b;">$xml_url</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Olive;">((</span><span style="color: Blue;">string</span><span style="color: Olive;">)</span><span style="color: #00008b;">$xml_url</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">loc</span><span style="color: Gray;">==</span><span style="color: #00008b;">$xmlurl</span><span style="color: Olive;">){</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">$update</span><span style="color: Gray;">=</span><span style="color: Maroon;">1</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">break</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$update</span><span style="color: Gray;">==</span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$xml_url</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">lastmod</span><span style="color: Gray;">=</span><span style="color: Blue;">date</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">c</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Green;">else</span><span style="color: Olive;">{</span><span style="color: Gray;"><br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$xml_url</span><span style="color: Gray;">=</span><span style="color: #00008b;">$xml</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">addChild</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">url</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$xml_url</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">addChild</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">loc</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #00008b;">$xmlurl</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$xml_url</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">addChild</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">lastmod</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: Blue;">date</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">c</span><span style="color: #8b0000;">'</span><span style="color: Olive;">))</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$xml_url</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">addChild</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">changefreq</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">daily</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$xml_url</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">addChild</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">priority</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">0.2</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$fp</span><span style="color: Gray;">=</span><span style="color: Blue;">fopen</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">sitemap.xml</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">w</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: #00008b;">$xmlfile</span><span style="color: Gray;">=</span><span style="color: #00008b;">$xml</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">asXML</span><span style="color: Olive;">()</span><span style="color: Gray;">;<br /></span><span style="color: #00008b;">$xmlfile</span><span style="color: Gray;">=</span><span style="color: Blue;">str_replace</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">&gt;&lt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">&gt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #8b0000;">&quot;</span><span style="color: Navy;">\r\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">&lt;</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #00008b;">$xmlfile</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Blue;">fwrite</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">,</span><span style="color: #00008b;">$xmlfile</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Blue;">fclose</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></div></div>
<p>生成的sitemap.xml文件内容如下：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Olive;">&lt;?</span><span style="color: Green;">xml</span><span style="color: Gray;"> </span><span style="color: #00008b;">version</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">1.0</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> </span><span style="color: #00008b;">encoding</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">UTF-8</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">?&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">urlset</span><span style="color: Gray;"> </span><span style="color: #00008b;">xmlns</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.sitemaps.org/schemas/sitemap/0.9</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">url</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">loc</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">http://cobeta.cn/xiaoshuo/anshi/1874467.htm</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">loc</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">lastmod</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">2009-09-26T13:27:59+04:00</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">lastmod</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">changefreq</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">daily</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">changefreq</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">priority</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">0.2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">priority</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;/</span><span style="color: Green;">url</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">url</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">loc</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">http://www.cobeta.cn/xiaoshuo/.../1539038.htm</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">loc</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">lastmod</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">2009-09-26T13:28:01+04:00</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">lastmod</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">changefreq</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">daily</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">changefreq</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">priority</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">0.2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">priority</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;/</span><span style="color: Green;">url</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">url</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">loc</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">http://www.cobeta.cn/xiaoshuo/.../1539039.htm</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">loc</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">lastmod</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">2009-09-26T13:28:10+04:00</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">lastmod</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">changefreq</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">daily</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">changefreq</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">priority</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">0.2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">priority</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;/</span><span style="color: Green;">url</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">url</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">loc</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">http://cobeta.cn/xiaoshuo/.../1874471.htm</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">loc</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">lastmod</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">2009-09-26T13:28:12+04:00</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">lastmod</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">changefreq</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">daily</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">changefreq</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;</span><span style="color: Green;">priority</span><span style="color: Olive;">&gt;</span><span style="color: Gray;">0.2</span><span style="color: Olive;">&lt;/</span><span style="color: Green;">priority</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;/</span><span style="color: Green;">url</span><span style="color: Olive;">&gt;</span><span style="color: Gray;"><br /></span><span style="color: Olive;">&lt;/</span><span style="color: Green;">urlset</span><span style="color: Olive;">&gt;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.lenghost.cn/original/simple-auto-update-sitemap-php-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP远程下载图片并按照原目录保存图片的代码，破解防盗链</title>
		<link>http://www.lenghost.cn/original/php-remote-download-and-save-to-file/</link>
		<comments>http://www.lenghost.cn/original/php-remote-download-and-save-to-file/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 21:36:36 +0000</pubDate>
		<dc:creator>LeNgHoSt</dc:creator>
				<category><![CDATA[原创作品]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[小偷]]></category>
		<category><![CDATA[盗链]]></category>
		<category><![CDATA[远程]]></category>

		<guid isPermaLink="false">http://godaddy.lenghost.cn/lenghost.cn/?p=4</guid>
		<description><![CDATA[这几天发现我写的那个小偷程序用到的主站竟然也开始搞防盗链了，我那小偷程序所有的图片都显示不正常。。。上网查了下资料，写了下面的代码，用到了crul库，还好我的空间支持crul，呵呵！
curl 是使用URL语法的传送文件工具，支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传，kerberos、基于HTT格式的上传、代理、cookie、用户＋口令证明、文件传送恢复、http代理通道和大量其他有用的技巧。

&#19979;&#36733;: pic.php&#60;?php&#160; &#160;&#160; /**&#160; &#160;* @author LeNgHoSt&#160; &#160;* @copyright 2008&#160; &#160;*/&#160; &#160; $pic = $_SERVER['QUERY_STRING'];&#160; &#160;if(!preg_match(&#34;/.*\.jpg/&#34;, $pic)){&#160; &#160;&#160;&#160; &#160;exit('图片读取错误!');&#160; &#160;}&#160; &#160;$fname='pic/'.$pic;&#160; &#160;if(file_exists($fname)){&#160; &#160;&#160;&#160; &#160;header('Location: '.$fname);&#160; &#160;}else{&#160; &#160;&#160;&#160; &#160;$ch = curl_init();&#160; &#160;&#160;&#160; &#160;curl_setopt ($ch, CURLOPT_URL, $pic);&#160; &#160;&#160;&#160; &#160;curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);&#160; &#160; &#160;&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>这几天发现我写的那个小偷程序用到的主站竟然也开始搞防盗链了，我那小偷程序所有的图片都显示不正常。。。上网查了下资料，写了下面的代码，用到了crul库，还好我的空间支持crul，呵呵！</p>
<blockquote><p>curl 是使用URL语法的传送文件工具，支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传，kerberos、基于HTT格式的上传、代理、cookie、用户＋口令证明、文件传送恢复、http代理通道和大量其他有用的技巧。</p></blockquote>
<p><span id="more-4"></span></p>
<div class="hl-title">&#19979;&#36733;: <a href="http://www.lenghost.cn/wp-content/plugins/coolcode/coolcode.php?p=4&amp;download=pic.php">pic.php</a></div><div class="hl-surround"><div class="hl-main"><span style="color: Blue;">&lt;?php</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp; <br /></span><span style="color: #ffa500;">/**&nbsp; <br />&nbsp;*</span><span style="color: Blue;"> @author </span><span style="color: #ffa500;">LeNgHoSt&nbsp; <br />&nbsp;*</span><span style="color: Blue;"> @copyright </span><span style="color: #ffa500;">2008&nbsp; <br />&nbsp;*/</span><span style="color: Gray;">&nbsp; <br />&nbsp; <br /></span><span style="color: #00008b;">$pic</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$_SERVER</span><span style="color: Olive;">[</span><span style="color: #8b0000;">'</span><span style="color: Red;">QUERY_STRING</span><span style="color: #8b0000;">'</span><span style="color: Olive;">]</span><span style="color: Gray;">;&nbsp; &nbsp;<br /></span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/.*\.jpg/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #00008b;">$pic</span><span style="color: Olive;">)){</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">exit</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">图片读取错误!</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp;<br /></span><span style="color: #00008b;">$fname</span><span style="color: Gray;">=</span><span style="color: #8b0000;">'</span><span style="color: Red;">pic/</span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$pic</span><span style="color: Gray;">;&nbsp; &nbsp;<br /></span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Blue;">file_exists</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fname</span><span style="color: Olive;">)){</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">header</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">Location: </span><span style="color: #8b0000;">'</span><span style="color: Gray;">.</span><span style="color: #00008b;">$fname</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br /></span><span style="color: Olive;">}</span><span style="color: Green;">else</span><span style="color: Olive;">{</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$ch</span><span style="color: Gray;"> = </span><span style="color: Blue;">curl_init</span><span style="color: Olive;">()</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">curl_setopt</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$ch</span><span style="color: Gray;">, </span><span style="color: Blue;">CURLOPT_URL</span><span style="color: Gray;">, </span><span style="color: #00008b;">$pic</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">curl_setopt</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$ch</span><span style="color: Gray;">, </span><span style="color: Blue;">CURLOPT_RETURNTRANSFER</span><span style="color: Gray;">, </span><span style="color: Maroon;">1</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; <br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">curl_setopt</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$ch</span><span style="color: Gray;">, </span><span style="color: Blue;">CURLOPT_REFERER</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">http://www.xxx.com</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">; </span><span style="color: #ffa500;">/*破解防盗链*/</span><span style="color: Gray;">&nbsp; <br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">curl_setopt</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$ch</span><span style="color: Gray;">, </span><span style="color: Blue;">CURLOPT_USERAGENT</span><span style="color: Gray;">, </span><span style="color: #8b0000;">'</span><span style="color: Red;">Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp; <br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">curl_setopt</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$ch</span><span style="color: Gray;">, </span><span style="color: Blue;">CURLOPT_CONNECTTIMEOUT</span><span style="color: Gray;">, </span><span style="color: Maroon;">30</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$file_contents</span><span style="color: Gray;"> = </span><span style="color: Blue;">curl_exec</span><span style="color: Olive;">(</span><span style="color: #00008b;">$ch</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Blue;">curl_close</span><span style="color: Olive;">(</span><span style="color: #00008b;">$ch</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #00008b;">$file_contents</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$arr</span><span style="color: Gray;">=</span><span style="color: Blue;">split</span><span style="color: Olive;">(</span><span style="color: #8b0000;">'</span><span style="color: Red;">/</span><span style="color: #8b0000;">'</span><span style="color: Gray;">,</span><span style="color: #00008b;">$fname</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$max</span><span style="color: Gray;">=</span><span style="color: Blue;">count</span><span style="color: Olive;">(</span><span style="color: #00008b;">$arr</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$dir</span><span style="color: Gray;">=</span><span style="color: #8b0000;">''</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">for</span><span style="color: Olive;">(</span><span style="color: #00008b;">$i</span><span style="color: Gray;">=</span><span style="color: Maroon;">0</span><span style="color: Gray;">;</span><span style="color: #00008b;">$i</span><span style="color: Gray;">&lt;</span><span style="color: #00008b;">$max</span><span style="color: Gray;">-</span><span style="color: Maroon;">1</span><span style="color: Gray;">;</span><span style="color: #00008b;">$i</span><span style="color: Gray;">++</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: #00008b;">$dir</span><span style="color: Gray;">.=</span><span style="color: #00008b;">$arr</span><span style="color: Olive;">[</span><span style="color: #00008b;">$i</span><span style="color: Olive;">]</span><span style="color: Gray;">.</span><span style="color: #8b0000;">'</span><span style="color: Red;">/</span><span style="color: #8b0000;">'</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: Gray;">!</span><span style="color: Blue;">file_exists</span><span style="color: Olive;">(</span><span style="color: #00008b;">$dir</span><span style="color: Olive;">)){</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;@</span><span style="color: Blue;">mkdir</span><span style="color: Olive;">(</span><span style="color: #00008b;">$dir</span><span style="color: Gray;">,</span><span style="color: Maroon;">0777</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">=</span><span style="color: Blue;">fopen</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fname</span><span style="color: Gray;">,</span><span style="color: #8b0000;">'</span><span style="color: Red;">w</span><span style="color: #8b0000;">'</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Green;">if</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Olive;">){</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">fwrite</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Gray;">,</span><span style="color: #00008b;">$file_contents</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</span><span style="color: Blue;">fclose</span><span style="color: Olive;">(</span><span style="color: #00008b;">$fp</span><span style="color: Olive;">)</span><span style="color: Gray;">;&nbsp; &nbsp;<br />&nbsp;&nbsp; &nbsp;</span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp;<br /></span><span style="color: Olive;">}</span><span style="color: Gray;">&nbsp; &nbsp;<br />&nbsp; <br /></span><span style="color: Blue;">?&gt;</span></div></div>
<p>使用方法：pic.php?http://www.xxx.com/xxx.jpg</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lenghost.cn/original/php-remote-download-and-save-to-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP学习成果：美女写真网图片小偷-PHP版</title>
		<link>http://www.lenghost.cn/original/mmxzmm-php-version/</link>
		<comments>http://www.lenghost.cn/original/mmxzmm-php-version/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 05:45:15 +0000</pubDate>
		<dc:creator>LeNgHoSt</dc:creator>
				<category><![CDATA[原创作品]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[下载]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[图片]]></category>
		<category><![CDATA[小偷]]></category>

		<guid isPermaLink="false">http://godaddy.lenghost.cn/lenghost.cn/?p=8</guid>
		<description><![CDATA[程序名称：美女写真网图片小偷-PHP版
官方网站：http://www.mmxzmm.cn/
联系方式：gtzone@163.com
更新日期：2008-08-24
使用说明：
根据需要修改config.php的内容，上传即可
模板文件在template目录里，需要者可自行添加广告代码
P.S.需要空间支持.htaccess RewriteRule
更新说明：1.1
破解目标站防盗链，需PHP支持curl库！
可选择保存远程图片，需PHP支持curl库！
这样不久以后你就会拥有自己的图片库了。
mmxzmm_php.rar
]]></description>
			<content:encoded><![CDATA[<p>程序名称：美女写真网图片小偷-PHP版<br />
官方网站：http://www.mmxzmm.cn/<br />
联系方式：gtzone@163.com<br />
更新日期：<font color=Red>2008-08-24</font></p>
<p>使用说明：<br />
根据需要修改config.php的内容，上传即可<br />
模板文件在template目录里，需要者可自行添加广告代码<br />
<font color=Red>P.S.需要空间支持.htaccess RewriteRule</font></p>
<p>更新说明：1.1<br />
破解目标站防盗链，<font color=Red>需PHP支持curl库！</font><br />
可选择保存远程图片，<font color=Red>需PHP支持curl库！</font><br />
这样不久以后你就会拥有自己的图片库了。</p>
<p><a href="http://www.mmxzmm.cn/mmxzmm_php.rar" target="_blank">mmxzmm_php.rar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lenghost.cn/original/mmxzmm-php-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php中preg_match的用法</title>
		<link>http://www.lenghost.cn/tips/php-preg_match-usage/</link>
		<comments>http://www.lenghost.cn/tips/php-preg_match-usage/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 03:08:28 +0000</pubDate>
		<dc:creator>LeNgHoSt</dc:creator>
				<category><![CDATA[技巧收集]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[正则]]></category>

		<guid isPermaLink="false">http://godaddy.lenghost.cn/lenghost.cn/?p=9</guid>
		<description><![CDATA[大家一看到preg_match肯定会头痛的。。。其实没什么，下面我就尽力给还不明白的兄弟们争取讲明白了，在这里我就不解释preg_match的说明了，朋友们可以通过php手册查看..先来个简单点的:
&#60;?phppreg_match(&#34;/^(http:\/\/)?([^\/]+)/i&#34;,&#34;http://www.php.net/index.html&#34;, $matches);$host = $matches[2];// 从主机名中取得后面两段preg_match(&#34;/[^\.\/]+\.[^\.\/]+$/&#34;, $host, $matches);echo &#34;domain name is: {$matches[0]}\n&#34;;?&#62;

这是手册里的例子。多数人对preg_match犯晕都出在正则上，以后我也会介绍正则。先看这个例子，
preg_match($pattern,$string,$matcher)其中$pattern对应的就是/^(http:\/\/)?([^\/]+)/i，$string 是http://www.php.net/index.html，$match是匹配到的结果。
按照手册上的意思：
如果提供了 matches，则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本，$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本，以此类推。
这是什么意思呢？第一句就不用解释了，$matches[0] 将包含与整个模式匹配的文本。
咱们用pring_r打印出来第一个$matches：
Array ( [0] => http://www.php.net [1] => http:// [2] => www.php.net )
这回明白了吧。。$matches[0] 将包含与整个模式匹配的文本，$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本。在正则中，()代表模式：匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到，在VBScript 中使用 SubMatches 集合，在JScript 中则使用 $0…$9 属性。就是说数组中下标为1的值就是正则中/^(http:\/\/)?([^\/]+)/i第一个()里的值！数组下标２的值以此类推
]]></description>
			<content:encoded><![CDATA[<p>大家一看到preg_match肯定会头痛的。。。其实没什么，下面我就尽力给还不明白的兄弟们争取讲明白了，在这里我就不解释preg_match的说明了，朋友们可以通过php手册查看..先来个简单点的:</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">&lt;?php</span><span style="color: Gray;"><br /></span><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/^(http:\/\/)?([^\/]+)/i</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">http://www.php.net/index.html</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #00008b;">$matches</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: #00008b;">$host</span><span style="color: Gray;"> = </span><span style="color: #00008b;">$matches</span><span style="color: Olive;">[</span><span style="color: Maroon;">2</span><span style="color: Olive;">]</span><span style="color: Gray;">;</span><span style="color: #ffa500;">// 从主机名中取得后面两段</span><span style="color: Gray;"><br /></span><span style="color: Blue;">preg_match</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">/[^\.\/]+\.[^\.\/]+$/</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #00008b;">$host</span><span style="color: Gray;">, </span><span style="color: #00008b;">$matches</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: Green;">echo</span><span style="color: Gray;"> </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">domain name is: </span><span style="color: #00008b;">{$matches[0]}</span><span style="color: Navy;">\n</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">;<br /></span><span style="color: Blue;">?&gt;</span></div></div>
<p><span id="more-9"></span><br />
这是手册里的例子。多数人对preg_match犯晕都出在正则上，以后我也会介绍正则。先看这个例子，<br />
preg_match($pattern,$string,$matcher)其中$pattern对应的就是/^(http:\/\/)?([^\/]+)/i，$string 是http://www.php.net/index.html，$match是匹配到的结果。<br />
按照手册上的意思：<br />
如果提供了 matches，则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本，$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本，以此类推。<br />
这是什么意思呢？第一句就不用解释了，$matches[0] 将包含与整个模式匹配的文本。<br />
咱们用pring_r打印出来第一个$matches：<br />
Array ( [0] => http://www.php.net [1] => http:// [2] => www.php.net )<br />
这回明白了吧。。$matches[0] 将包含与整个模式匹配的文本，$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本。在正则中，()代表模式：匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到，在VBScript 中使用 SubMatches 集合，在JScript 中则使用 $0…$9 属性。就是说数组中下标为1的值就是正则中/^(http:\/\/)?([^\/]+)/i第一个()里的值！数组下标２的值以此类推</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lenghost.cn/tips/php-preg_match-usage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP-Web应用程序开发：使用模板</title>
		<link>http://www.lenghost.cn/tips/php-develop-use-template/</link>
		<comments>http://www.lenghost.cn/tips/php-develop-use-template/#comments</comments>
		<pubDate>Sat, 26 Jul 2008 18:22:04 +0000</pubDate>
		<dc:creator>LeNgHoSt</dc:creator>
				<category><![CDATA[技巧收集]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[代码]]></category>
		<category><![CDATA[开发]]></category>
		<category><![CDATA[模板]]></category>

		<guid isPermaLink="false">http://godaddy.lenghost.cn/lenghost.cn/?p=10</guid>
		<description><![CDATA[每个进行过较大型的PHP-Web应用程序设计的开发人员大概都有如下的经历：花大量的时间写超文本语句，为页面排版，兼作美工等；或在整合的程序代码在和HTML静态页面时花费大量的时间。的确，用脚本语言开发Web应用不容易将数据的处理和数据的显示分开，但在多人合作的情况下，如果无法将数据和显示分开，将大大影响开发的效率，专业分工的发挥。为了解决这个问题，PHP也提供了自己的解决方案，有多种，本文主要介绍PHPLIB中的Template类。
1 模板处理类的设计
模板处理类主要需完成以下的任务：
·从模板文件中读取显示用的HTML代码。
·将模板文件和实际生成的数据结合，生成输出的结果。
·允许同时处理多个模板。
·允许模板的嵌套。
·允许对模板中的某个单独的部分进行处理。
归纳上述任务，模板类的设计目标为：从多个模板文件中读入显示的HTML代码，将这些显示代码中需要动态数据的地方替换为PHP程序运算所得出的数据，然后按照一定的顺序输出。其中，替换的部分可以自由的设定。
读取显示用的HTML代码采用读文件的方式
模板文件和数据的结合采用正则替换
处理多个模板用数组存储来实现。
模板的嵌套的实现主要的想法是：将模板和输出（任何中间的分析结果）一视同仁，都可拿来做替换，即可实现。
单独部分的处理的通过在模板文件中设定标注，然后在正则替换中结合标注来控制，实现部分替换。
2 模板处理类的实现
请参看PHPLib中的Template.inc，总共345行代码，有详细的注释。以下列举一些主要的函数，供研读参考：

function set_file($handle,$filename=&#34;&#34;)//line 77, 读取文件function set_var($varname,$value = &#34;&#34;)//line 119, 设置映射数据-替换变量function set_block($parent, $handle, $name = &#34;&#34;)//line 96, 设置标注function subst($handle)//line 136, 执行数据替换function parse($target, $handle, $append = false)//line 165, 执行模板文件与数据的结合function p($varname)//line 268, 输出处理结果
3 模板处理类的使用
3.1 最基本的例子
为了简单起见，这里假设模板文件、使用模板的PHP文件和模板处理类的文件都放在同一个目录下。PHPLIB中的习惯是使用ihtml后缀为模板文件的后缀。
下面是要使用的模板文件：
使用模板的测试
这是一个使用模板的测试文件！
当前的时间是{currenttime}!
注：模板文件和通常的HTML文件差不多，唯一不同的是使用“{}”括起来的是可以被模板处理类替换的动态内容的变量。
接下来使用模板处理类来处理上面的模板：
set_file(&#34;handle1&#34;,&#34;test.ihtml&#34;);//使用$timeNow的值替换模板中的currenttime$template-&#62;set_var(&#34;currenttime&#34;,$timeNow);//进行实际的模板操作$template-&#62;parse(&#34;output&#34;,&#34;handle1&#34;);//输出最后结果$template-&#62;p(&#34;output&#34;);
注：如果只想用PHPLIB中的模板类，只需在文件头包含Template.inc类即可。
创建Template对象时，可以指定模板文件路径，如：new Template（“/htdocs/apps/templates/”），缺省为当前路径。
3.2 模板嵌套与块设定
下面这个例子来自与PHPLIB的参考手册，综合性较强，这里需说明的一点是设定块的目的与嵌套无关，但这个范例包含了两者。请仔细阅读，块设定是为了避免这种情况：原本可在一个模板文件（静态页面）里完成的内容，因需要部分循环，而将部分循环内容提取单独做成模板文件。请思考，如果不用块设定，这个例子是不是需要3个模板文件呢？
模板文件1，page.ihtml
{PAGETITLE}
{PAGETITLE}
{OUT}
Content
模板文件2，box.ihtml
{TITLE}
{NUM}
{BIGNUM}
模板处理文件，test.php
set_file(array(&#34;page&#34; =&#62; &#34;page.ihtml&#34;,&#34;box&#34; =&#62; &#34;box.ihtml&#34;));//载入模板文件box中的一个块row,引用名称为rows$t-&#62;set_block(&#34;box&#34;, &#34;row&#34;, &#34;rows&#34;);//设置替换$t-&#62;set_var(array(&#34;TITLE&#34; =&#62; &#34;Testpage&#34;,&#34;PAGETITLE&#34; =&#62; &#34;hugo&#34;));//生成数据NUM，BIGNUMfor ($i=1; $iset_var(array(&#34;NUM&#34; =&#62; $n,&#34;BIGNUM&#34; =&#62; $nn));//进行分析，分析的结果添加到rows的后面$t-&#62;parse(&#34;rows&#34;, &#34;row&#34;, true);}//生成box，再生成page$t-&#62;parse(&#34;OUT&#34;, array(&#34;box&#34;, &#34;page&#34;));//输出最后结果$t-&#62;p(&#34;OUT&#34;);?&#62;
注：这里page.ihtml模板文件中变量的命名与最后的输出句柄都用了“OUT”。
循环取值部分采用数据库类，即可将数据的生成与数据库应用结合起来。
执行结果如下图：

模板嵌套与块设定执行结果图
4 [...]]]></description>
			<content:encoded><![CDATA[<p>每个进行过较大型的PHP-Web应用程序设计的开发人员大概都有如下的经历：花大量的时间写超文本语句，为页面排版，兼作美工等；或在整合的程序代码在和HTML静态页面时花费大量的时间。的确，用脚本语言开发Web应用不容易将数据的处理和数据的显示分开，但在多人合作的情况下，如果无法将数据和显示分开，将大大影响开发的效率，专业分工的发挥。为了解决这个问题，PHP也提供了自己的解决方案，有多种，本文主要介绍PHPLIB中的Template类。<br />
<strong>1 模板处理类的设计</strong><br />
模板处理类主要需完成以下的任务：<br />
·从模板文件中读取显示用的HTML代码。<br />
·将模板文件和实际生成的数据结合，生成输出的结果。<br />
·允许同时处理多个模板。<br />
·允许模板的嵌套。<br />
·允许对模板中的某个单独的部分进行处理。<br />
归纳上述任务，模板类的设计目标为：从多个模板文件中读入显示的HTML代码，将这些显示代码中需要动态数据的地方替换为PHP程序运算所得出的数据，然后按照一定的顺序输出。其中，替换的部分可以自由的设定。<br />
读取显示用的HTML代码采用读文件的方式<br />
模板文件和数据的结合采用正则替换<br />
处理多个模板用数组存储来实现。<br />
模板的嵌套的实现主要的想法是：将模板和输出（任何中间的分析结果）一视同仁，都可拿来做替换，即可实现。<br />
单独部分的处理的通过在模板文件中设定标注，然后在正则替换中结合标注来控制，实现部分替换。<br />
<strong>2 模板处理类的实现</strong><br />
请参看PHPLib中的<u>Template.inc</u>，总共345行代码，有详细的注释。以下列举一些主要的函数，供研读参考：</p>
<p><span id="more-10"></span></p>
<div class="hl-surround"><div class="hl-main"><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">set_file</span><span style="color: Olive;">(</span><span style="color: #00008b;">$handle</span><span style="color: Gray;">,</span><span style="color: #00008b;">$filename</span><span style="color: Gray;">=</span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//line 77, 读取文件</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">set_var</span><span style="color: Olive;">(</span><span style="color: #00008b;">$varname</span><span style="color: Gray;">,</span><span style="color: #00008b;">$value</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//line 119, 设置映射数据-替换变量</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">set_block</span><span style="color: Olive;">(</span><span style="color: #00008b;">$parent</span><span style="color: Gray;">, </span><span style="color: #00008b;">$handle</span><span style="color: Gray;">, </span><span style="color: #00008b;">$name</span><span style="color: Gray;"> = </span><span style="color: #8b0000;">&quot;&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//line 96, 设置标注</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">subst</span><span style="color: Olive;">(</span><span style="color: #00008b;">$handle</span><span style="color: Olive;">)</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//line 136, 执行数据替换</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">parse</span><span style="color: Olive;">(</span><span style="color: #00008b;">$target</span><span style="color: Gray;">, </span><span style="color: #00008b;">$handle</span><span style="color: Gray;">, </span><span style="color: #00008b;">$append</span><span style="color: Gray;"> = </span><span style="color: Green;">false</span><span style="color: Olive;">)</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//line 165, 执行模板文件与数据的结合</span><span style="color: Gray;"><br /></span><span style="color: Green;">function</span><span style="color: Gray;"> </span><span style="color: Blue;">p</span><span style="color: Olive;">(</span><span style="color: #00008b;">$varname</span><span style="color: Olive;">)</span><span style="color: Gray;"><br /></span><span style="color: #ffa500;">//line 268, 输出处理结果</span><span style="color: Gray;"></span></div></div>
<p><strong>3 模板处理类的使用</strong><br />
<strong>3.1 最基本的例子</strong><br />
为了简单起见，这里假设模板文件、使用模板的PHP文件和模板处理类的文件都放在同一个目录下。PHPLIB中的习惯是使用ihtml后缀为模板文件的后缀。<br />
下面是要使用的模板文件：<br />
使用模板的测试<br />
这是一个使用模板的测试文件！<br />
当前的时间是{currenttime}!<br />
注：模板文件和通常的HTML文件差不多，唯一不同的是使用“{}”括起来的是可以被模板处理类替换的动态内容的变量。<br />
接下来使用模板处理类来处理上面的模板：</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">set_file</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">handle1</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">test.ihtml</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: #ffa500;">//使用$timeNow的值替换模板中的currenttime</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$template</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">set_var</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">currenttime</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #00008b;">$timeNow</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: #ffa500;">//进行实际的模板操作</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$template</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">parse</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">output</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">handle1</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: #ffa500;">//输出最后结果</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$template</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">p</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">output</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;</span></div></div>
<p>注：如果只想用PHPLIB中的模板类，只需在文件头包含<u>Template.inc</u>类即可。<br />
创建Template对象时，可以指定模板文件路径，如：new Template（“/htdocs/apps/templates/”），缺省为当前路径。<br />
<strong>3.2 模板嵌套与块设定</strong><br />
下面这个例子来自与PHPLIB的参考手册，综合性较强，这里需说明的一点是设定块的目的与嵌套无关，但这个范例包含了两者。请仔细阅读，块设定是为了避免这种情况：原本可在一个模板文件（静态页面）里完成的内容，因需要部分循环，而将部分循环内容提取单独做成模板文件。请思考，如果不用块设定，这个例子是不是需要3个模板文件呢？<br />
模板文件1，page.ihtml<br />
<code>{PAGETITLE}<br />
{PAGETITLE}<br />
{OUT}<br />
Content</code><br />
模板文件2，box.ihtml<br />
<code>{TITLE}<br />
{NUM}<br />
{BIGNUM}</code><br />
模板处理文件，test.php</p>
<div class="hl-surround"><div class="hl-main"><span style="color: Blue;">set_file</span><span style="color: Olive;">(</span><span style="color: Green;">array</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">page</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> =&gt; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">page.ihtml</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">box</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> =&gt; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">box.ihtml</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">))</span><span style="color: Gray;">;<br /></span><span style="color: #ffa500;">//载入模板文件box中的一个块row,引用名称为rows</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$t</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">set_block</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">box</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">row</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">rows</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br /></span><span style="color: #ffa500;">//设置替换</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$t</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">set_var</span><span style="color: Olive;">(</span><span style="color: Green;">array</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">TITLE</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> =&gt; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">Testpage</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">PAGETITLE</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> =&gt; </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">hugo</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">))</span><span style="color: Gray;">;<br /></span><span style="color: #ffa500;">//生成数据NUM，BIGNUM</span><span style="color: Gray;"><br /></span><span style="color: Green;">for</span><span style="color: Gray;"> </span><span style="color: Olive;">(</span><span style="color: #00008b;">$i</span><span style="color: Gray;">=</span><span style="color: Maroon;">1</span><span style="color: Gray;">; </span><span style="color: #00008b;">$iset_var</span><span style="color: Olive;">(</span><span style="color: Green;">array</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">NUM</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> =&gt; </span><span style="color: #00008b;">$n</span><span style="color: Gray;">,</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">BIGNUM</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;"> =&gt; </span><span style="color: #00008b;">$nn</span><span style="color: Olive;">))</span><span style="color: Gray;">;<br /></span><span style="color: #ffa500;">//进行分析，分析的结果添加到rows的后面</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$t</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">parse</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">rows</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">row</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Green;">true</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />}<br /></span><span style="color: #ffa500;">//生成box，再生成page</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$t</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">parse</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">OUT</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: Green;">array</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">box</span><span style="color: #8b0000;">&quot;</span><span style="color: Gray;">, </span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">page</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">))</span><span style="color: Gray;">;<br /></span><span style="color: #ffa500;">//输出最后结果</span><span style="color: Gray;"><br /></span><span style="color: #00008b;">$t</span><span style="color: Gray;">-&gt;</span><span style="color: Blue;">p</span><span style="color: Olive;">(</span><span style="color: #8b0000;">&quot;</span><span style="color: Red;">OUT</span><span style="color: #8b0000;">&quot;</span><span style="color: Olive;">)</span><span style="color: Gray;">;<br />?&gt;</span></div></div>
<p>注：这里page.ihtml模板文件中变量的命名与最后的输出句柄都用了“OUT”。<br />
循环取值部分采用数据库类，即可将数据的生成与数据库应用结合起来。<br />
执行结果如下图：<br />
<img src="http://www.netbei.com/Article/UploadFiles/200408/20040816194011541.gif" border="0" alt=""/><br />
模板嵌套与块设定执行结果图<br />
<strong>4 小结</strong><br />
本文主要简要介绍了PHPLIB中Template类的设计、实现及使用方法。当然，还有许多其他的PHP模板方案，如由Perl中演化而来的FastTemplates。目前Internet小组采用的是另一种方案，主要的实现方式是模板文件入库，采用eval来实现数据与模板文件的结合等，相对来说模板文件的管理与模板处理的使用比较简洁，但缺少文件存放的模式。本人目前在做的一些尝试是将两者结合起来，并想在PHPLIB的Template类的基础上进行改进。初步的目标任务有两个：1、在读取模板文件时扩展其对数据库的支持，这样可以在必要时增强灵活性与使用数据库管理工具 2、化简模板文件与数据的结合，因为在实际使用中大多数情况下无需将模板文件中的变量在处理程序中再设置（数据变量映射）一遍。<br />
在此也希望读者、PHP程序爱好者一起参与进来，多提宝贵意见，祝好运！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lenghost.cn/tips/php-develop-use-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

