PHP正则表达式bbcode返回空白
我有这个bbcode标签“卸妆”,它应该从我的测试文本中删除bbcode标签。 我得到的只是一无所有。 只是空白页应该是文本替换为html标签。 它出什么问题了。 也许任何人都可以有更好的脚本来分享。
$str = 'This [b]is just[/b] a [i]test[/i] text!';
function forum_text($str)
{
$str = htmlspecialchars($str);
$str = preg_replace( "#[url](?:http://)?(.+?)[/url]#is", "<a href="http://$1">$1</a>", $str );
$str = preg_replace( "#[img](?:http://)?(.+?)[/img]#is", "<img src="http://$1" />", $str );
$str = preg_replace( "#[b](.+?)[/b]#is", "<strong>$1</strong>", $str );
$str = preg_replace( "#[i](.+?)[/i]#is", "<i>$1</i>", $str );
$str = preg_replace( "#[u](.+?)[/u]#is", "<u>$1</u>", $str );
return $str;
}
以下是您的代码,其前面有一些代码(以确保显示任何错误)以及后面的一些代码(即实际调用您的函数)。
如果这不适合你,你的问题不在这里,除非你没有工作的PCRE。
error_reporting(-1); ini_set('display_errors', 'On');
$str = 'This [b]is just[/b] a [i]test[/i] text!';
function forum_text($str)
{
$str = htmlspecialchars($str);
$str = preg_replace( "#[url](?:http://)?(.+?)[/url]#is", "<a href="http://$1">$1</a>", $str );
$str = preg_replace( "#[img](?:http://)?(.+?)[/img]#is", "<img src="http://$1" />", $str );
$str = preg_replace( "#[b](.+?)[/b]#is", "<strong>$1</strong>", $str );
$str = preg_replace( "#[i](.+?)[/i]#is", "<i>$1</i>", $str );
$str = preg_replace( "#[u](.+?)[/u]#is", "<u>$1</u>", $str );
return $str;
}
echo forum_text($str);
链接地址: http://www.djcxy.com/p/29873.html
上一篇: php regex bbcode returns blank
下一篇: PHP BBCode Parser