在字符串中查找多次出现的自定义短代码


Finding many occurrences of custom built shortcode in String

我正在构建一个基于测验的系统,用户可以通过在文本区域中输入类似于短代码的内容来生成问题类型。计划是能够将短代码转换为HTML。

以下是用户如何在文本区域内书写的示例:

有个问题

你叫什么名字?[问题类型="text"问答="Mike | Mike | Michael"]

男性还是女性?[question type="radio"question answers="Male"可能答案="Male|Female"name="sex"]

您拥有多少辆汽车[问题类型="复选框"问题答案="2"可能答案="1|2|3|4"name="汽车"]

用户通过点击按钮添加"快捷代码",并可以选择为属性添加值,例如问题答案等。这可以节省他们编写任何"代码"的时间。

我想做的是在提交时(在后台),将所有的快捷代码转换为html输入。实际的转换不会有问题,我遇到的问题是找到所有短代码的出现。

我尝试过使用:

preg_match_all(SOME_REG_EX, $question, $matches);
print_r($matches);

但我没有得到任何有用的东西,可能是因为我的正则表达式不正确,我尝试了各种正则表达式,但没有成功。

设法找到了我需要的正则表达式,以找到每次出现的情况:

'/'[[^'[]*question[^']]*']/'

它得到了整个[question OTHER_ATTRIBUTES]短码