PHP记事(2)

原创 2011年01月07日 17:50:00

继续对phpSayTemplateParser类的分析。

 

phpSayTemplateParser类最重要的函数就是compile(),该函数将HTML模板文件中的特定标签替换成相应的PHP代码,如上文所述。

 

首先以login页面为例进行分析。

 

简单的部分略去不说,如:

 

 

 

因为login.html中只有<!-- IF loginResult == "ok" -->,所以能实验到的只有如下代码块:

 

 

 

该段代码将$page字符串中所有匹配正则表达式的字符都存放入$var数组中,通过variable_inspector.php中的var_log函数将该数组输出到一个txt中(如果输入到HTML中,将不能正常显示其内容,所以一定要放到纯文本里面才行)。

 

 

通过添加代码:

 

 

 

 

内容为:

 

 

 

 = Array (

|  0 = Array (

|  |  0 = "<!-- IF loginResult == "ok" -->"

|  |  1 = "<!-- IF loginResult == "error" -->"

|  |  2 = "<!-- IF loginResult == "ok" -->"

|  )

|  1 = Array (

|  |  0 = ""

|  |  1 = ""

|  |  2 = ""

|  )

|  2 = Array (

|  |  0 = "loginResult"

|  |  1 = "loginResult"

|  |  2 = "loginResult"

|  )

|  3 = Array (

|  |  0 = "=="

|  |  1 = "=="

|  |  2 = "=="

|  )

|  4 = Array (

|  |  0 = ""ok""

|  |  1 = ""error""

|  |  2 = ""ok""

|  )

)

 = "_obj"
 = "loginResult"
 = "_obj"
 = "loginResult"
 = "_obj"
 = "loginResult"
至于正则表达式'/<!-- (ELSE)?IF ([a-zA-Z0-9_.]+)[ ]*([!=<>]+)[ ]*(["]?[^"]*["]?) -->/',需要另外新开一个文件进行实验。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

PHP记事(5)- 关于comment

查看index.php输出的html代码: 

PHP记事(1)

通过比对生成login页面相关的三个页面,来研phpSay的模板功能。login.html:{stripslashes:blogConfig.sitename} › 登录...

基于PHP的微博程序记事狗微博

  • 2011年05月07日 17:23
  • 2.99MB
  • 下载

记事(五)

下一周就要考试了,下一周要考3门课,所以最近一直是复习状态,但是虽说是复习状态,一直也不是很用心,因为感觉老师给了一些重点,感觉还能过,就不是那么紧张。这两天占了我很多时间的事,有两个。 一个是前几天...

TexturePacker入门记事

原文链接:http://dlqingxi.diandian.com/post/2012-05-29/40027813020 什么是TexturePacker? >TexturePa...

inote记事工具-PreferenceScreen及PreferenceActivity使用

源码及APK下载: http://files.note.sdo.com/7pq1Y~jGuguFnM0b0006dI Android提供了如下的设置页面,通过PreferenceScreen及Pre...

做一个记事闹铃的软件笔记

补充下上一次的问题http://blog.csdn.net/fancylovejava/article/details/9862183 在做一个记事日程提醒的android软件 给每条记事设置闹钟...

在csdn开博第一天记事

记得注册csdn的时间好像是去年年末,当时在巩固java的基础,自己遇到了很多问题要下载资料,搜到了这里, 看见这里大师级的人物还真多,自己要学习的知识也还有太多太多了。 先说一些为什么会接触软件编程...

友情链接技巧-花年记事

做网站的流量,一个必不可少的步骤就是友情链接,诚然,与权重高、友链又少的网站做友情链接,可以大大有利于网站在搜索引擎中的权重,能带来大量的流量。   所以说筛选可交换的网站,是站长每天必做的事情,但...

关于感染型病毒ramnit和runner的查杀记事

主要是在测试一些软件的时候不小心中毒的,当时还是拿虚拟机测试软件,但是复制出来的时候中毒了。 记得复制出来的时候,某杀软还提醒了一下,但是没当回事,轻易加白名单了,因为文件中有一个是自己写的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP记事(2)
举报原因:
原因补充:

(最多只允许输入30个字)