我正在使用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的图片库。
我一直在寻找,但我没有多少运气。我觉得我正在尝试做的事情还有另一个词,但它不是来找我,也许会产生更好的搜索结果。
任何让我离开的提示都将不胜感激。
答案 0 :(得分:0)
简短的回答是STRING和REGEX取代陈述。
如果您熟悉与CodeIgniter关联的CMS,即ExpressionEngine,它会使用str_replace()和preg_replace()解析模板。
答案 1 :(得分:0)
您正在寻找的术语是 BBCode (公告板代码)。
至于解析,您可以查看一些论坛应用程序以及CI的模板解析器以获取灵感。就像Jarrett已经提到的那样,他们主要使用str_replace()
和preg_replace()
函数。
像[gallery=120]
之类的东西会更高级。