php web开发中自定义的标签制作的原理

例如dedecms中标签编译成php语法的原理或者是smarty标签编译成php语法的原理,就是当我自定义我想要标签后,怎么把我自定义的标签转换成php语法,不可能是使用... 例如 dedecms中标签编译成php语法的原理 或者是smarty 标签编译成php语法的原理 ,就是当我自定义我想要标签后,怎么把我自定义的标签转换成php语法,不可能是使用ob_star后将我自定义的标签编译成php语法格式。例如:dedecms中的一个标签:{dede:arclist flag='h' typeid='' row='' col='' titlelen='' infolen='' imgwidth='' imgheight='' listtype='' orderby='' keyword='' limit='0,1'}
<a href='[field:arcurl/]'>[field:title/]</a>
{/dede:arclist} 当我使用不同的条件,就会生成不同的sql查询,得到不同的结果,我想知道,这种标签编译成php语法格式的步骤,php文件是如何来调用这个模版文件的,又是如何来编译这个文件的,知道的大虾们教教兄弟,多谢了.
,知道的大虾告诉下 (越详细越好,先谢了 ,真的很想知道)
展开
 我来答
匿名用户
2013-08-16
展开全部
这个……建议你看一下织梦的模板引擎源码,他的模板解析类在/include/dedetag.class.php中。其原理大致是整个获取模板中的字符串。然后正则,或strpos、substr之类的函数去除标志性的标签内容,比如织梦的标签都写在{dede:xxx}中,有了这个特征就比较好操作了。
在获取标签中的内容之后就是个循环遍历获取的过程,实现上都是差不多的。

其实整个原理就是html解析器。

编译过程就更简单了,在获取了整个代码所需求的东西后,把这些东西反写成PHP代码,在file_put_contents到文件中就可以了。

我说的可能太简单,建议你看一下他们的源码,会对你有很大帮助。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式