Технический сбой

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

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


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

вопрос
Здравствуйте!
Возникла необходимость, чтобы каждая новая строка начиналась с параграфа.
По стандарту в редакторе при нажатии клавиши "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 - -


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

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

леший
Гости

леший - -


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

monach
Юзер

monach - -

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

леший
Гости

леший - -

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

monach
Юзер

monach - -

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

monach
Юзер

monach - -


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

леший
Гости

леший - -

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

monach
Юзер

monach - -

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

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

monach
Юзер

monach - -

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

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

наверх