function parse($string){
$counter = 0;
$string = preg_replace("_\[b\](.*?)\[/b\]_si", '<span class="b">'. $counter .'. $1</span>', $string, -1, $counter);
return $string;
}
我正在尝试制作一个 ubb 解析器,它解析标签并将计数放在它前面:
[b]Hey[/b]
[b]Hello[/b]
应该返回这个:
<span class="b">1. Hey</span>
<span class="b">2. Hello</span>
但是正在返回这个:
<span class="b">1. Hey</span>
<span class="b">1. Hello</span>
所以除了上面的功能,我试过这个:
function parse($string){
$counter = 0;
$string = preg_replace_callback(("_\[b\](.*?)\[/b\]_si", function(){
'<span class="b">'. $counter++ .'. $1</span>',
}, $string);
}
但这和顶部的功能不起作用。我做错了什么和/或我可以尝试吗?