preg_replace help - 需要用HTML替换[list] .. [/ list]

时间:2011-05-23 02:40:17

标签: php html regex

我无法理解这一点,我真的可以使用一些帮助。

我想替换像这样的文字

[list]line 0
line 1
line 2
[/list]

<ul><li>line 0</li>
<li>line 1</li>
<li>line 2</li>
</ul>

它可以在字符串中出现几次,如果可以避免添加空列表元素,那就太棒了。

2 个答案:

答案 0 :(得分:3)

这是我特别的BBParser。花了很多年。

http://pastebin.com/3MRYRd8k

像这样使用:

$parse = new bbParse();
$pageContent = $parse->bbtohtml($dbContent);

答案 1 :(得分:1)

preg_replace('#[list](.*?)[/list]', $data, $list);
$list[1] = explode("\n", $list);
$html = '<ul>';

foreach($list[1] as $li){
   $html .= '<li>'.$li.'</li>';
}
$html .= '</ul>';