我正在开发一个自定义CMS,它有一些内置模块(日历,天气等),我们希望允许最终用户插入其内容。他们可以使用CKEDITOR输入内容。
寻找一些提示:
我知道有一些模板库可以提供这种类型的功能,但此时我们想尝试自己构建这个部分。
答案 0 :(得分:2)
没有用于解析此类(或类似)输入的内置方法。您将不得不使用一些模板库或自己编写解析器。
答案 1 :(得分:1)
选择在项目的其他位置无法意外使用的任何语法。双花括号可能没问题。
使用非贪婪匹配的正则表达式来获取每个
的内容$matches = array();
preg_match("/\{\{(.*?)\}\}/", $content, $matches);
// or use the match all the grab all of them
preg_match_all("/\{\{(.*?)\}\}/", $content, $matches);
从那里,您可以简单地用逗号分隔它们并处理单个标记
$tokens = split(",", $module);
$module_name = array_shift($tokens);
foreach ($tokens as $token) {
// process the token
}