我正在制作一个网站,我想用PHP制作一种自定义标记类型语言。我希望标签被[
和]
包围。现在,我在想这个,就像任何人一样,我可以做这样的事情:
function formatMarkup($markup = ''){
$markup = str_replace('[color=blue]', '<span style="color: blue">', $markup);
return $markup
}
尽管这可能会起作用,但如果它做一些类似explode()
的事情,但从每个[
开始,到每个]
结束,那么它在进度上会更正确。如果我发现了,那就太好了。感谢您的时间和努力。
编辑:我决定使用preg_split()
。这看起来不错,但我无法获得正则表达式。这是我的密码。
编辑#2:我已经完成了大部分正则表达式,但数组中有一些非种子的额外键。我该如何修复它们?这是我的新密码。
我已经制作了标记语言。我使用
$split = preg_split("/('[|'])/", $markup);
获取单独的"标签"并使用
foreach($split as $k => $v){
if(strlen($v) < 1){
continue;
}
给文盲浏览每一个,并检查值是否为空。然后,在那之后,我会做所有的检查,一起解析代码块,并一行接一行地生成重新构建的文本。