1

我正在 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 的图片库。

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

任何让我前进的提示将不胜感激。

4

2 回答 2

0

简短的回答是 STRING 和 REGEX 替换语句。

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

于 2012-08-08T00:07:13.210 回答
0

您要查找的术语是BBCode(公告板代码)。

至于解析,您可以查看一些论坛应用程序,也许还有 CI 的模板解析器以获取灵感。就像 Jarrett 已经提到的那样,它们主要使用str_replace()preg_replace()功能。不过,类似的东西[gallery=120]会更先进。

于 2012-08-08T10:21:13.223 回答