- preg_replace_callback: documentation ( source)
<?php
$ubbText = <<<TEXT
[b]Hey[/b]
[b]Hello[/b]
TEXT;
echo preg_replace_callback(
"~\[b](.*?)\[/b]~si",
function ($m) {
static $counter = 0;
return '<span class="b">' . (++$counter) . '. ' . $m[1] . '</span>';
},
$ubbText
);