PHP BBCode 的字符串替换
PHP String Replace for BBCode
我想为我的论坛网站制作自定义 BBCode,但我 运行 遇到了一个问题,我很难修复它。
这是线程正文“[b]Bold[/b][i]Italic[/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);
正确的代码应该是:
$replace = array('<b></b>');
return preg_replace($search, $replace, $input);
我想为我的论坛网站制作自定义 BBCode,但我 运行 遇到了一个问题,我很难修复它。
这是线程正文“[b]Bold[/b][i]Italic[/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);
正确的代码应该是:
$replace = array('<b></b>');
return preg_replace($search, $replace, $input);