我正在为我的网站构建一种BBCode,我目前有以下代码:
$bbcode = array(
...
'#\[ul\](.*?)\[/ul\]#is' => '<ul>$1</ul>',
'#\[li\](.*?)\[/li\]#is' => '<li>$1</li>'
);
我的问题是,在<li>
添加<br />
之后,这会在列表项之间创建大量空白空间。
我可以在[li]
正则表达式中添加一些可以忽略/删除之后添加的<br />
的代码吗?
答案 0 :(得分:0)
试试这个
$bbcode = array(
...
'#\[li\]\s+(.*?)\[/li\]#is' => '<li>$1</li>'
);
答案 1 :(得分:0)
你可以分两步完成(先用br改变然后再改变):
'#\[li\](.*?)(?:<br />)(.*?)\[/li\]#is' => '<li>$1$2</li>'
'#\[li\](.*?)\[/li\]#is' => '<li>$1</li>'
或者如果br总是在li之后而没有别的:
'#\[li\](?:\s*<br />)?(.*?)\[/li\]#is' => '<li>$1</li>'