Show bbcode in html page with php

这一生的挚爱 提交于 2019-12-24 17:28:09

问题


I already a bbcode string $mybbcode = [b]Hello word[/b]
with php i want to show it with html format in html page.
ex: <div><b>hello word</b><div>


回答1:


Basically that others already said to you after, but if you search in Google you'll see quicky lot of info about that, and done functions. Here is a sample:

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);
}

Only for lazy programmers ;)

I invite you to search and decide what are the best from all code already done for you project.




回答2:


You will have to use regex to convert BBCodes to HTML : http://www.php.net/manual/en/ref.pcre.php

For example :

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


来源:https://stackoverflow.com/questions/24200048/show-bbcode-in-html-page-with-php

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!