是否有可能为PHP中的模板引擎创建自己的语义标记“<something> </something>”?

时间:2014-12-08 20:09:29

标签: php

如果有人能帮我解决这个问题,我真的很感激:)

我想知道是否可以在PHP中创建自己的语义标记,就像BB代码一样,但我希望能够在我的模板引擎系统中使用它,所以我可以使用它来调用自定义模块,如投票系统,添加评论,登录表格,登记表等......

让我更清楚地告诉你们我的意思;

我正在自己的CMS上工作,不要将它用于生产目的,而是以更好的方式学习PHP; 所以我有这个想法,根据他们的位置调用页面中的特定模块,以便能够做到;

例如我们有一个登录模块,它只是一个登录表单,没什么太疯狂的,但是你希望能够在你想要的任何页面中使用后端动态包含该模块,而不是触及任何代码;

所以你在模板页面所做的只是使用我之前告诉过你的bb代码; 像这样的东西;

请记住,这只是一个想法;

<zone name="left_sidebar"></zone>

你在边栏上添加了这个区域标记,如果你的左侧边栏上显示了你的任何模块,那么只需要有这个标记就可以了......

根据您页面上有多少可编辑的块,您已经有了大量的语义标记;所以你可以有一个用于右侧边栏,一个用于页脚,一个用于标题......等等。

所以我现在需要知道如何查找开始和结束标记,在这种情况下它将是<zone></zone>,然后它需要查找其属性及其值,在这种情况下{{1} } ....

任何人都知道我怎么可能做这种事......

提前致谢:)

2 个答案:

答案 0 :(得分:1)

也许您可以使用php的libxml模块来解析您的xml文件。

答案 1 :(得分:1)

你可以查看TWIG;虽然它不直接支持这种功能(因为它为自己的元素使用了特殊的语法),但它确实具有非常对制作自己的元素,标签,子应用程序和后端其他时髦的东西。

http://twig.sensiolabs.org/

还有许多系统在前端执行此类任务;这意味着替换是通过浏览器中的Javascript完成的。除了已经提到过的Polymer,还有Google的框架,Angular。

https://angularjs.org/