Добавлена поддержка блочных курсива и жирного шрифта в 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]
Курсив - Первая строка
&nbsp;
Курсив - Вторая строка
[/i]

Отображается как:

Курсив - Первая строка
 
Курсив - Вторая строка

@codinghorror, я думаю, вы правы, так как следующая разметка не имеет этой проблемы:

[code]
Блок кода - Первая строка

Блок кода - Вторая строка
[/code]
2 лайка

Да, блок курсива в BB-коде не реализован как многострочный. Это текущее ожидаемое поведение. То же самое касается жирного шрифта. Причина такого решения в том, что теги <i> и <b> в HTML также считаются строчными, а не блочными.

Я открыт к расширению этого сценария использования, если поступит достаточно запросов, но на данный момент всё работает в соответствии с задумкой.

3 лайка

Написание нескольких абзацев курсивом или жирным шрифтом без усилий по размещению тегов форматирования в каждом абзаце — это один из видов постов на форуме с низким соотношением усилий к раздражению, который, как мне кажется, не следует поощрять.

7 лайков