<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[PHP Tokenizer 的学习笔记]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Php/Js/Shell/Go]]></category>
<pubDate>Mon, 13 May 2013 07:20:58 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	在某个项目中需要分析 PHP 代码，分离出对应的函数调用（以及源代码对应的位置）。固然这使用正则也可以实现，但无论从效率还是代码复杂度方面考虑，这都不是最优的方式。<br/><br/>查询了 PHP 手册，发现实在 PHP 已经内置解析器的接口，那就是 PHP Tokenizer，这工具正是我想要的。使用 PHP Tokenizer 能简单、高效、正确的分析出 PHP 源代码的组成。<br/><br/>实例:<br/><textarea name="code" class="php" rows="15" cols="100">
&lt;?php
$code = &#039;&lt;?php echo &quot;string1&quot;.&quot;string2&quot;; ?&gt;&#039;;
$tokens = token_get_all($code);
foreach ($tokens as $token) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;if (is_array($token)) &#123;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// 行号、标识符字面量、对应内容
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%d - %s&#92;t%s&#92;n&quot;, $token[2], token_name($token[0]), $token[1]);
&nbsp;&nbsp;&nbsp;&nbsp;&#125;
&#125;
?&gt;
</textarea><br/><br/><br/>---------- 调试PHP ----------<br/>1 - T_OPEN_TAG&nbsp;&nbsp;&lt;?php <br/>1 - T_ECHO&nbsp;&nbsp;echo<br/>1 - T_WHITESPACE&nbsp;&nbsp; <br/>1 - T_CONSTANT_ENCAPSED_STRING&nbsp;&nbsp;&quot;string1&quot;<br/>1 - T_CONSTANT_ENCAPSED_STRING&nbsp;&nbsp;&quot;string2&quot;<br/>1 - T_WHITESPACE&nbsp;&nbsp; <br/>1 - T_CLOSE_TAG&nbsp;&nbsp;?&gt;<br/><br/>输出完成 (耗时 0 秒) - 正常终止<br/><br/>参考：http://php.mirror.camelnetwork.com/manual/zh/ref.tokenizer.php
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] PHP Tokenizer 的学习笔记]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>