У меня есть поле textarea
, где я разрешаю пользователям печатать в виде обычного текста или HTML.
Я очищаю HTML с помощью HTMLPurify, но я хочу добавить функцию, которая поможет пользователям, которые не знают HTML (и, следовательно, используют обычный текст): преобразовывать двойные разрывы строк (\n\n
, \r\r
, * 1006). *, \r\n
) в <br>
. Если есть две пары двойных разрывов строк, превратите их в 2 <br>
с и т. Д.
В основном:
Hi, this is some text with a SINGLE linebreak after it.
Here's some more text.
This is some text following a double line break.
Превратится в это:
Hi, this is some text with a SINGLE linebreak after it.Here's some more text.
This is some text following a double line break.
Использование nl2br()
вызвало проблемы, связанные с использованием HTML, например ..
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
Был превращен в
<ul>
<li>List item</li>
<li>List item</li>
<li>List item</li>
</ul>
, что привело к появлению дополнительных маркеров, когда их не должно быть.