PHP: Как сохранить разрывы строк, используя nl2br () с очистителем HTML?
Выпуск: Когда используешьОчиститель HTML для обработки введенного пользователем содержимого разрывы строк не переводятся в<br>
теги.
Рассмотрим следующий вводимый пользователем контент:
Lorem ipsum dolor sit amet.
This is another line.
<pre>.my-css-class {
color: blue;
}
</pre>
Lorem ipsum:
Lorem
Ipsum
Dolor
Dolor sit amet,
MyName
При обработке с использованием HTML-очистителя вышеприведенное изменяется следующим образом:
Лорем ипсум долор сит амет. Это еще одна строка.
.my-css-class {
color: blue;
}
Lorem ipsum:
LoremIpsumбольДолор сижу амет, MyNameКак вы видете, "Мое имя" который должен был находиться на отдельной строке пользователем, отображается вместе с предыдущей строкой.
Как исправить?Использование PHPnl2br()
функция, конечно. Однако возникают новые проблемы, независимо от того, используем ли мы его до или послеочищающий содержимое.
Вот пример использования nl2br () перед очистителем HTML:
Лорем ипсум долор сит амет.
Это еще одна строка.
.my-css-class {
color: blue;
}
Lorem ipsum:
LoremIpsumбольДолор сижу амет,
Мое имя
Что происходит, что nl2br () добавляет<br>
для каждого переноса строки, поэтому даже те, в
блок обрабатывается, а также разрывы строк после каждоготег.Что я пробовал
Я попробовалпользовательская функция nl2br () который заменяет разрывы строк на
<br>
теги, а затем удаляет все<br>
теги отблоки. Это прекрасно работает, однако проблема остается дляПредметы.
Попытка того же подхода для
Если это правильный подход, не могли бы вы помочь мне с регулярным выражением?Если оно'Не правильный подход, как я могу решить эту проблему? Я также открыт к альтернативам HTML-очистителю.блоки также удалят все
<br>
теги издети, если мы не будем использовать более сложное регулярное выражение для удаления
<br>
теги внутриэлементы, но снаружи
элементы. Но тогда как насчет вложенных
в пределах
вещь? Чтобы справиться со всеми этими ситуациями, мыЯ должен иметь еще более сложное регулярное выражение!
Другие ресурсы, которые ямы уже смотрели на:
HTMLPurifier: авто бр
http://htmlpurifier.org/phorum/read.php?2,3034