用php在html页面显示bbcode

时间:2014-06-13 07:37:20

标签: php bbcode

我已经是一个bbcode字符串$mybbcode = [b]Hello word[/b]
用php我想在html页面中用html格式显示它。
例如:&lt; div><b>hello word</b><div>

2 个答案:

答案 0 :(得分:5)

基本上其他人已经告诉过你了,但是如果你在谷歌搜索,你会看到很多关于这个和完成功能的信息。这是一个示例:

function bbc2html($content) {
  $search = array (
    '/(\[b\])(.*?)(\[\/b\])/',
    '/(\[i\])(.*?)(\[\/i\])/',
    '/(\[u\])(.*?)(\[\/u\])/',
    '/(\[ul\])(.*?)(\[\/ul\])/',
    '/(\[li\])(.*?)(\[\/li\])/',
    '/(\[url=)(.*?)(\])(.*?)(\[\/url\])/',
    '/(\[url\])(.*?)(\[\/url\])/'
  );

  $replace = array (
    '<strong>$2</strong>',
    '<em>$2</em>',
    '<u>$2</u>',
    '<ul>$2</ul>',
    '<li>$2</li>',
    '<a href="$2" target="_blank">$4</a>',
    '<a href="$2" target="_blank">$2</a>'
  );

  return preg_replace($search, $replace, $content);
}

仅适用于懒惰的程序员;)

我邀请您搜索并确定已经完成的所有代码项目的最佳效果。

答案 1 :(得分:0)

您必须使用正则表达式将BBCode转换为HTML:http://www.php.net/manual/en/ref.pcre.php

例如:

$string = preg_replace('#\[b\](.+)\[\/b\]#iUs', '<b>$1</b>', $string);