powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Пожалуйста помогуте решить задачу
15 сообщений из 15, страница 1 из 1
Пожалуйста помогуте решить задачу
    #35721042
Laughing_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Оговорюсь сразу, что с JS я не знаком совсем. Но передомной стоит следующая задача: сдеалть форму с текстовым полем, при начале набора текста в катором ставился бы тег <p> и по достижешию приделов ширины строки (ну или по достижению определённого чиста символов соответствующему ширене строки) вставлялся бы тег <br> ну и естественно по завершению набора текста должен ставится тег </p>. Я совершенно не представляю как можно решить эту задачу... Но дагадки такие,что просто нужно сделать две кнопки над полем, первая открывала бы обзац а вторая бы закрывала ну, а тег <br> вставлялся бы овтоматом хотя можно тоже сделать для него отдельную кнопку.

если кто может помогите пожалуйста только мактимально подробно коментируйте то что вы пишите т.к я совершенно не знаю Javascript.
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721063
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я понимаю вы хотите сделать так, чтобы пользователь мог воодить какойто текст, а он патом отправлялся куда нить в виде html? сушествует много готовых уже таких движков. К примеру самый навороченый tinymce, каторый не только форматирует по строчкам текст, но и может вставлять картинки, таблицы итд итп.
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721081
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИМХО задача более для серверного скрипта (да и то, возможно на этапе отдачи), нежели для клиентского.
Идея с кнопочками не слишком хороша. Вот пример: набран некоторый текст, нажата кнопочка, которая расставит тэги, а после возникает необходимость что то подправить... Придётся выкусывать тэги. Таким образом, лучше прицепить форматирование на onsubmit формы, когда текст полностью готов.
По теме: мож проще взять готовый визивиг-редактор? Не вспомню сходу про расстановку <br> на заданной позиции (вроде где то было), но обрамление абзацев тэгами <p> - это у них стандартная фича.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721085
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Laughing_man,
гугл или МСДН слово "contenteditable" или "execCommand".
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721090
Laughing_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А можно поподробнее узнать про готовые подобные редакторы. Проосто я не встречал, ну и соответственно не предстваляю как его прицыпить к той форме которую мне предстоит сделать.
сильно навороченный то конечно никчему мне главное чтоб проще было внём разобраться....
А так то да Вы правильно поняли это нужно для подготовки тенкста для отправки в БД что бы потом всё было отфарматировано так как нужно.
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721101
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В своё время, лет пять назад, я с нуля писал, а сейчас есть известный всем fckeditor .
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721114
Laughing_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дааа крутая штука ,только мне не подходит этож целый редактор, а мне-то надо чтоб, пользователь не знакомый с HTML, в админки своего сайта мог бы просто добавить необходимые теги в текст в текстовом поле <textarea>, а потом всё это пойдёт в БД, а уж потом этот текст нормально отображался на сайте. только и всего.
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721133
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вариантов три:
-- прикрутить эту штуку, оставив только необходимые кнопочки/тулбары;
-- разрешить пользователю вводить только текст по принципу "одна строка = один абзац" (или абзацы отделять не менее чем двумя переводами строки), а окончательную обработку делать на сервере;
-- писать свое, с нуля (не забываем о возможности правки текста готовой статьи).

Первый вариант не займёт много времени и сил - достаточно прописать несколько тэгов/атрибутов и нарисовать конфиг. Второй много проще в реализации клиентской части (собственно, нужна то только текстария) и не будет кушать траф и подтормаживать при загрузке, но потребует набросать несколько строк серверного кода (а его по любому придётся писать).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721141
Laughing_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну PHP мне конечно ближе чем JS. только через, какую функцыю-то вставлять теги обзацен и отсчитывать количество символов? через Preg_match()?
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721161
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так мыслю, алгоритм обработки текста при приёме от формы примерно таков:
- заменяем одиночные переводы строк на пробел (условимся что абзац == то что между двумя или более переводами строк).
- убираем все пробелы/табуляцию в начале и конце каждой строки строки.
- сокращаем двойные, тройные и тэдэ пробелы и табуляцию до одного пробела.
- убираем все переводы строки в начале и в конце текста.
- сокращаем двойные, тройные и тэдэ переводы строки до одиночного.
- в таком виде пишем в базу.
Отдачу статьи клиенту делаем через шаблонизатор, который прикрутит нужные тэги и навтыкает <br> - это есть например, в Smarty. Преимущество очевидно: если в какой то момент потребуется изменить ширину поля с 70 символов до 90 например, то нужно всего лишь поправить одну цифарку в шаблоне, а не перелопачивать все статьи. Либо, зарегистрированый пользователь может в своих настройках выставить желаемое значение. Оно же и недостаток - обработка будет происходить каждый раз при отдаче.
Теперь правка... При отдаче текста в текстарию для правки заменяем одиночный перевод строки на два или три. Вроде всё.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721166
Laughing_man
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вообще звучит довольно логично... ладно попробую решить на практике.. Уж не знаю что выйдет. Но влюбом случае спасибо.
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721179
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkle,

Ну да. Только всё-таки, на мой взгляд, вместо текстового ареа лучше заюзать контентэдитабле див, с парой - тройкой execCommand (дело пяти минут всю программу написать), а ещё лучше начать таки с этого самого эдитора. Но это - моё мнение. Выбирать - топикстартеру.
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721180
Фотография Ренат
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мона еще воспользвоаться готовой библиотекой WikiWord на php. ТАм пользователь вводит текст к примеру:

Код: plaintext
1.
2.
3.
4.
+ Header Leve1
here is paragraph
* list item
* list item
а получает
Код: plaintext
1.
2.
3.
4.
5.
6.
<h1>Header level1</h1>
<p>here is paragraph</p>
<ol>
<li>Lits item </li>
<li>Lits item </li>
</ol>
ТАм мона еще ключать или выключать те или иные теги. МОж оставить только p и br и твоя проблема решина
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721408
Фотография illion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeконтентэдитабле див, с парой - тройкой execCommand
эммм... а насколько это кроссбраузерно получится?
...
Рейтинг: 0 / 0
Пожалуйста помогуте решить задачу
    #35721553
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
illionэммм... а насколько это кроссбраузерно получится?
Нормально, пробовал под всеми современными браузерами. Не всё и не везде работает, что касается копипастинга не клавишами типа контрол/ц, а с помощью execCommand. Да и этот самый эфцекаэдитор тоже его юзает.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Пожалуйста помогуте решить задачу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]