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;
}
对每一个都进行文盲,并检查值是否为空。然后,在那之后,我会做所有的检查,一起解析代码块,然后一行一行地重新构建文本。
我正在制作一个网站,我想在 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;
}
对每一个都进行文盲,并检查值是否为空。然后,在那之后,我会做所有的检查,一起解析代码块,然后一行一行地重新构建文本。