如何用php解析用户输入的标签

如何用php解析用户输入的标签,php,parsing,Php,Parsing,我正在开发一个定制的CMS,它有一些内置模块(日历、天气等),我们希望最终用户能够将这些模块插入到他们的内容中。他们可以使用CKEDITOR输入内容 寻找以下方面的一些提示: 输入这些代码的推荐语法是什么?我们需要检索模块名和任何相关参数。当时的想法是:{{模块名,宽度=100,高度=200,项目=5}} 什么PHP函数最适合解析这些函数 我知道有一些模板库可能提供这种类型的功能,但现在我们想尝试自己构建这个部分。没有内置的方法来解析此类(或类似)输入。您必须使用一些模板库或自己编写解析器。没有

我正在开发一个定制的CMS,它有一些内置模块(日历、天气等),我们希望最终用户能够将这些模块插入到他们的内容中。他们可以使用CKEDITOR输入内容

寻找以下方面的一些提示:

  • 输入这些代码的推荐语法是什么?我们需要检索模块名和任何相关参数。当时的想法是:{{模块名,宽度=100,高度=200,项目=5}}
  • 什么PHP函数最适合解析这些函数

  • 我知道有一些模板库可能提供这种类型的功能,但现在我们想尝试自己构建这个部分。

    没有内置的方法来解析此类(或类似)输入。您必须使用一些模板库或自己编写解析器。

    没有内置的方法来解析此类(或类似)输入。您必须使用一些模板库或自己编写解析器。

    选择任何不会在项目其他地方意外使用的语法。双花括号可能没问题

    使用带有非贪婪匹配的正则表达式来抓住每个表达式的核心

    $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
    }
    

    选择任何不会在项目其他地方意外使用的语法。双花括号可能没问题

    使用带有非贪婪匹配的正则表达式来抓住每个表达式的核心

    $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
    }
    

    谢谢,这就是我要找的。我的声誉太低,但我会提升你的声誉,因为到目前为止,你是唯一了解这些问题的人。别担心,我也在提升声誉:)尽管如此,我喜欢stackoverflow是关于知识和相互帮助,而不是升级:)谢谢,这就是我一直在寻找的。我的声誉太低了,但我会提高你的声誉,因为到目前为止,你是唯一了解这些问题的人。别担心,我也在建立声誉:)尽管如此,我喜欢stackoverflow是关于知识和相互帮助的,而不是关于升级:)不确定为什么此响应会获得代表分数…它不会回答任何问题或提供任何有用的反馈。不确定为什么此响应会获得代表分数…它不会回答任何问题或提供任何有用的反馈。