添加对块级斜体和粗体 BBCode 的支持

请考虑这段文本:

[i]
斜体 - 第一行
斜体 - 第二行
[/i]

它渲染为:

斜体 - 第一行
斜体 - 第二行

现在考虑带有空行的相同文本:

[i]
斜体 - 第一行

斜体 - 第二行
[/i]

它渲染为:
[i]
斜体 - 第一行

斜体 - 第二行
[/i]

(BBCode 失效)

这是预期的行为吗?

1 个赞

我不认为 [i] 被设计为多行标记?换句话说,请这样做:

[i]斜体 - 第一行[/i]

[i]斜体 - 第二行[/i]
3 个赞

据我所知,BBCode 规范并未完全涵盖这种情况,但所有相关的 BBCode 示例均位于单行内。因此,这不太可能是一个错误。

启用多行标签的常规方法是在标签之间添加 HTML 换行符 <br/>,以明确显示额外的行。此方法在此处同样有效:

bbcode [i] 带有 <br/> <br/> 的斜体 HTML 换行符 [/i] 示例。

bbcode 带有

的斜体 HTML 换行符
示例。

2 个赞

@Remah,添加 &nbsp; 也能生效:

[i]
斜体 - 第一行
&emsp;
斜体 - 第二行
[/i]

渲染效果为:

斜体 - 第一行

斜体 - 第二行

@codinghorror,我认为你是对的,因为以下标记没有这个问题:

[code]
代码块 - 第一行

代码块 - 第二行
[/code]
2 个赞

是的,斜体 BBCode 块目前不支持多行显示。这是当前的预期行为。粗体标签也是如此。我这样设计的原因是,在 HTML 中,<i><b> 标签同样被视为行内标签而非块级标签。

如果对此有足够多的需求,我很乐意扩展这一用例,但就目前而言,该功能正按设计运行。

3 个赞

写多个段落的斜体或粗体文本,却不费力地在每个段落上都加上格式标签,这种帖子属于那种‘投入精力少、令人烦躁程度高’的类型,我认为不应该被鼓励。

7 个赞