我遇到以下问题困住了几个小时。我有自己的cms,我使用短代码[plugin-pluginname]
来激活插件。现在我想在该短代码中分配一个组,该组稍后在包含一次文件中用作查询的变量,以选择该特定的id。
目前,我收到了以下代码:
$regex = '~\[plugin-([^]]+)]~';
$content_one = htmlspecialchars_decode($page['content_one']);
$parts = preg_split($regex, $content_one, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach($parts as $k => $v){
if($k & 1)
include_once('plugins/'.$v.'/'.$v.'.php');
else
echo htmlspecialchars_decode($v);
}
这会检查[plugin-testplugin]
的位置(以testplugin为例)并包含该特定文件。现在我想编写类似[plugin-testplugin 2]
的内容,其中不仅上面的代码当然仍然有效,而且数字存储在一个变量中,可以使用查询SELECT * FROM 'database' WHERE 'group' = "'.$var_from_shortcode.'"
欢迎任何帮助和解决方法来解决这个问题!
答案 0 :(得分:0)
您可以使用this regex然后在变量中保存第1组值吗?
\[plugin-[A-Za-z ]*(\d+)?\]
或者使用此正则表达式查找[plugin-testplugin 2]
,然后使用\d*
查找其中的数字?