我已经为自己创建了一个自定义CMS和一个插件系统,该系统正在按预期工作。
现在我想创建基于短代码的插件,例如:[gallery attr1=100 attr2="string"]和[mycode title='message'color='#F00']你好,世界![/mycode]
我想在我的CMS中处理上面提到的短代码。函数将用HTML和get&将属性设置为mySQL查询或其他内容的参数。
可能是正则表达式会有所帮助,我不是正则表达式方面的专家。如果有其他微笑或好的方式存在,我不想使用这样的正则表达式。
CMS使用PHP和mySQL开发。
我访问了wordpress开发人员的网站并获得了概念,我已经创建了注册或设置插件、菜单、主题边栏等功能。
我认为这些信息足以说明问题,因为我可以用这种方式解释。
提前感谢
此代码解决了逻辑
function plugin_sortcode($contents) {
global $SORTCODES, $DATA;
foreach ($SORTCODES as $name => $fn) {
$attr = array();
preg_match_all("/'[" . $name . " (.*?)']/", $contents, $matches);
if ($matches[0]) {
$code = $matches[0][0];
if (isset($matches[1])) {
$attrs = $matches[1][0];
$attrs = explode(" ", $attrs);
foreach ($attrs as $values) {
$attrs1 = explode("=", $values);
$attr[$attrs1[0]] = $attrs1[1];
}
}
$data = $fn($attr, $DATA);
$contents = str_replace($code, $data, $contents);
}
}
return $contents;
}