PHP 自定义标记语言解析器

PHP Custom Markup Language Parser

我正在制作一个网站,我想在 PHP 中制作自定义标记类型语言。我希望标签被 [] 包围。现在,我正在考虑这个,就像任何人一样,我可以做这样的事情:

function formatMarkup($markup = ''){
    $markup = str_replace('[color=blue]', '<span style="color: blue">', $markup);
    return $markup
}

尽管这可能行得通,但如果它做类似 explode() 的事情,但在每个 [ 开始并在每个 ] 结束,在程序上会更正确。如果我发现了,那就太好了。感谢您的时间和努力。

编辑: 我决定使用 preg_split()。看起来不错,但我无法获得正则表达式。 Here is my code.

编辑#2: 我已经完成了大部分正则表达式,但数组中有不需要的额外键。我将如何修复它们? Here is my new code.

我制作了我的标记语言。我用了

$split = preg_split("/(\[|\])/", $markup);

获取个人"tags"并使用

foreach($split as $k => $v){
        if(strlen($v) < 1){
            continue;
        }

对每一个都进行文盲,并检查值是否为空。然后,在那之后,我会做所有的检查,一起解析代码块,然后一行一行地重新构建文本。