Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как заменить отступ на параграф в текстовом редакторе FroalaEditor?

Как заменить отступ на параграф в текстовом редакторе FroalaEditor?


     16.01.2020    редактор    Общие вопросы по PHP, Хаки    871

вопрос
Здравствуйте!
Возникла необходимость, чтобы каждая новая строка начиналась с параграфа.
По стандарту в редакторе при нажатии клавиши "enter" добавляется тег br, что является правильным решением.
Но если нужен именно абзац, а не новая строка? ,
Скажите, пожалуйста, как можно заменить br на p при двойном нажатии на "ЕНТЕР"?
Использовать bbcode панель не представляется возможным, так как она отключена для обычных посетителей.
Хотелось реализовать параграф на автомате.
Буду вам очень признателен за помощь!
Спасибо!

Вот как выглядит код редактора из коробки:

<div style="min-height: 290px;" class="fr-element fr-view" dir="ltr" aria-disabled="false" spellcheck="true" contenteditable="true">
Начало статьи с первой строки, которая продолжится с второй строки.
<br>
Продолжение текста с новой строки. Третья строка должно начинаться с АБЗАЦА в теге <p>.
<br>
<br>
Продолжение текста начинается не с параграфа, что не подходит в данном случае.
</div>

Вместо p добавляется тег br, и так до бесконечности.

Что хотелось получить:


<div style="min-height: 290px;" class="fr-element fr-view" dir="ltr" aria-disabled="false" spellcheck="true" contenteditable="true">
Начало статьи с первой строки, которая продолжится с второй строки.
<br>
Продолжение текста с новой строки. Третья строка должно начинаться с АБЗАЦА.
<br>
<p>ПРИ ДВОЙНОМ НАЖАТИИ "ЕНТЕР" ВМЕСТО <br> мы получам параграф <P> </p>
</div>

Ответил: monach


Хорошенько подумал, посмотрел на результат в консоли браузера, и решение пришло само собой.
Если нужно чтобы текст был облочен в p , li , div и т.п.
Нужно вместо обычного вызова редактора {shortarea}, в панели добавления новости, или в любом другом месте, прописать именно через :

< textarea id="short_story" name="short_story" class="wysiwygeditor" style="display: none;"></ textarea >

Между textarea вставляем:

<ol><li>{shortarea}</li></ol>

ИЛИ
<р>{shortarea}<р>

При нажатии на Ентер новая строка начнется именно внутри того тега, который вы указали.
Вот и всё.

9 комментариев

monach
Юзер

monach - 16 января 2020 15:14 -


Вот скрин, как я хочу реализовать в одном из редакторов при добавлении новости на сайт.

Данный способ нумерации мне нужен для добавления пошаговой инструкции при добавлении блюда.
Пунктов может быть очень много в инструкции, а делать текстовую форму на 20 пунктов, это издевательство.
Одно решение, это сделать так, чтобы в этот редакторе текст писался в параграф и выводилась нумерация, а при нажатии на "ЕНТЕР", начинался новый список.

леший
Гости

леший - 16 января 2020 18:11 -


А чем не устраивает нумерованный список, который при выводе на сайте можно оформить как угодно при помощи css?

monach
Юзер

monach - 16 января 2020 18:37 -

Спасибо за отзыв!
Способ отличный, я не спорю. Но у обычного пользователя данный блок отключен, только админы могут вносить форматирование в текст.
Нужно чтобы при старте форма указывала нумерацию, скажем автоматически.
Не могу понять как такое реализовать.

леший
Гости

леший - 16 января 2020 18:51 -

Так если у Вас отключен блок с форматированием текста, то у Вас выводится обычная textarea, и тогда надо писать на js небольшой плагин, а это уже в стол заказов.

monach
Юзер

monach - 16 января 2020 18:57 -

леший,
Блок отключен средствами css. Он есть, но в скрытом режиме.

monach
Юзер

monach - 16 января 2020 19:46 -


Из всего содержимого все что вывожу в блоке.

леший
Гости

леший - 16 января 2020 20:37 -

monach,
Так добавьте туда ещё и нумерованный список и будет Вам счастье

monach
Юзер

monach - 19 января 2020 16:16 -

Прошу помощи, может есть знающие, как можно в "textarea" сделать новый абзац при нажатии на ЕНТЕР, чтобы новая строка начиналась с абзаца <P>.
У меня есть доп.поле, в котором нужно будет писать поэтапно, при каждом нажатии на ЕНТЕР, новый абзац где текст сразу буден находится в теге <P>.
 
<textarea name="xfield[monach]" id="xf_monach" class="classic"></textarea>

Весь интернет обошёл, не могу найти решение с помощью JS или JQUERY.

monach
Юзер

monach - 22 января 2020 04:28 -

Прошу прощения, написал ответ к вопросу и забыл код в скобки внести.
Прошу Администрацию исправить.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх