【发布时间】:2023-03-02 21:37:02
【问题描述】:
我被以下问题困住了几个小时。我有自己的 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]where不仅上面的代码当然仍然有效,而且数字存储在一个变量中,可以使用查询SELECT * FROM 'database' WHERE 'group' = "'.$var_from_shortcode.'"
欢迎任何帮助和解答来解决这个问题!
【问题讨论】:
-
在这种情况下考虑使用
preg_replace_callback而不是preg_split -
我认为 preg_replace_callback 可能是答案,但它的教程有点难。不确定我会出去,但我现在要试试!
-
没你想的那么难,先试试一两个简单的测试。
-
测试相当简单,但实现不工作。也许我可以在早上想得更新鲜。已经非常感谢了!
-
如果字符串中可以有多个
[shortcodes],我可以做到这一点吗?
标签: php regex preg-split