12:03 6.07.2022
Здравствуйте.
Проблема в том, что перед выводом текста из базы на экран, переносы на новую строку (
То после каждого закрывающего тега (
Каждый пункт списка начинается с новой строки сам, ему не нужны специальные теги для переноса, но, у меня они добавляются. Из-за чего каждый пункт списка находится через строчку друг от друга.
Вопрос в том, как убрать
Спасибо.
Проблема в том, что перед выводом текста из базы на экран, переносы на новую строку (
\n\r
) заменяются на тег <br />
, собственно, чтобы браузер понимал, где следует сделать перенос, это логично. Когда, мы, при наборе текста, в поле <textarea>
составляем список, типа такого:
[ul]
[li]Строка №1.[/li]
[li]Строка №2.[/li]
[li]Строка №3.[/li]
[/ul]
То после каждого закрывающего тега (
[/li]
) получаем перенос строки, а при выводе списка на экран, исходник будет таким:
<ul><br />
<li>Строка №1.</li><br />
<li>Строка №2.</li><br />
<li>Строка №3.</li><br />
</ul><br />
Каждый пункт списка начинается с новой строки сам, ему не нужны специальные теги для переноса, но, у меня они добавляются. Из-за чего каждый пункт списка находится через строчку друг от друга.
Вопрос в том, как убрать
<br />
в тегах всего списка, не трогая при этом остальной текст, который может быть в той же записи, что и список, или списки?
Спасибо.
- Жалоба
13:22 6.07.2022
Здравствуйте, Hourly!
Перед строкой, где у Вас
Замените переменную
Удаление переносов на новую строку будет во всех списках, независимо от их количества, не трогая, при этом, остальной текст.
Перед строкой, где у Вас
\n\r
меняется на <br />
, добавьте код:// Удаление лишних "\n" в списках (ul|ol|li)
$text = preg_replace('#(\[(ol|ul|\/?li)\])([\n]|[\r]){1,}#', '$1', $text);
Замените переменную
$text
на свою, в которой содержится текст и списки.Удаление переносов на новую строку будет во всех списках, независимо от их количества, не трогая, при этом, остальной текст.
22:03 7.07.2022
Николай, если убирать переносы перед сохранением в базу, то при редактировании записи, в
Такое не удобно редактировать. Гораздо удобнее, когда каждый пункт строки, начинается с новой строки.
Страница будет генерироваться на стоко незначительно быстрей, что об этом и беспокоиться не стоит.
<textarea>
, список будет каша в виде одной строки, например:[ul][li]Строка №1.[/li][li]Строка №2.[/li][li]Строка №3.[/li][/ul]
Такое не удобно редактировать. Гораздо удобнее, когда каждый пункт строки, начинается с новой строки.
894 post=6085
Так меньше будет обработок, перед выводом контента на экран, а значит, страница будет генерироваться быстрее.Страница будет генерироваться на стоко незначительно быстрей, что об этом и беспокоиться не стоит.