用于BBCode的PHP字符串替换

时间:2015-12-31 19:53:41

标签: php regex bbcode

我想为我的论坛网站制作一个自定义BBCode,但我遇到了一个问题,而且我很难修复它。

这是线程主体数据库中的内容“[b] Bold [/ b] [i]斜体[/ i] [strike] Strike [/ strike]”。

然而,输出显示为“[i] Italic [/ i] [strike] Strike [/ strike]”。

所以,我猜这是一个回应它的问题,但我不知道如何解决它。这是当前的代码:

function bbcode($input) {
    $input = strip_tags($input);
    $input = htmlentities($input);

    $search = array('/\[b\](.*?)\[\/b\]/is');

    $replace = array('<b>$body</b>');

    return preg_replace($search, $preg_replace, $input);
}

while($row = mysql_fetch_array($threadquery, MYSQL_ASSOC)) {
    $body = str_replace("\n",'<br>', $row['body']);
}

echo bbcode($body);

1 个答案:

答案 0 :(得分:0)

正确的代码应该是:

$replace = array('<b>$1</b>');

return preg_replace($search, $replace, $input);