如何在Codeigniter中制作自定义标记语言/解析器?

时间:2012-08-07 23:58:33

标签: php parsing codeigniter

我正在使用Codeigniter中的自定义CMS,我正在尝试允许用户使用自定义标记,而不必将HTML放入帖子中。

例如,如果某个人发布了有关游戏的内容,并希望将风格化按钮添加为号召性用语,则只需键入[button=http://example.com]Play this game[/button]而不是HTML <div class="action-button"><a href="http://example.com">Play this game</a></div>

显然,这是一个简单的例子。我想做的一些更复杂的事情就像[gallery=120],其中包括一个ID为120的图片库。

我一直在寻找,但我没有多少运气。我觉得我正在尝试做的事情还有另一个词,但它不是来找我,也许会产生更好的搜索结果。

任何让我离开的提示都将不胜感激。

2 个答案:

答案 0 :(得分:0)

简短的回答是STRING和REGEX取代陈述。

如果您熟悉与CodeIgniter关联的CMS,即ExpressionEngine,它会使用str_replace()和preg_replace()解析模板。

答案 1 :(得分:0)

您正在寻找的术语是 BBCode (公告板代码)。

至于解析,您可以查看一些论坛应用程序以及CI的模板解析器以获取灵感。就像Jarrett已经提到的那样,他们主要使用str_replace()preg_replace()函数。 像[gallery=120]之类的东西会更高级。