Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Аналог WYSIWYG (https://javascript.ru/forum/misc/2140-analog-wysiwyg.html)

Aristarco 09.11.2008 19:14

Аналог WYSIWYG
 
Уважаемые формчане, нужна ваша помощь.

Есть гостевая книга(или тп, не суть) с простейшим механизмом вставки смайликов, таким же, как и на этом форуме - банальная вставка кода смайла типа ":cool:". При выводе страницы этот код заменяется PHP скриптом на изображение.

Но некоторые смайлики просто невозможно "выразить" обычными символами(даже тот же ":cool:"), поэтому хочется сделать визуальный редактор сообщений, чтобы пользователи сразу видели, какой смайлик стоит в сообщении, и как оно вообще выглядит.

Естественно, есть проблема: нельзя отправлять php-скрипту готовый HTML код. То есть отправляться должно сообщение, в котором смайлики будут заменены на свои коды, то есть по сути отправляемый текст будет таким же, как и при отправке из простой textarea.
Я вижу 2 варианта решения этой проблемы:
1.Иметь скрытый input, в котором будет "чистый"(без тегов) текст для отправки и отлавливать нажатия клавиш в редакторе. То есть юзер печатает сообщения, а скрипт отлавливает всё, кроме смайликов и вставляет в скрытый инпут. Отдельный скрипт вставки смайлика будет добавлять изображение в редактор и код в скрытый инпут.
2.Конкретно при отправке формы будет вызываться скрипт, который будет парсить готовый код из редактора, заменяя в нем изображения на коды смайликов.
Естественно, с обоими способами есть проблемы:
1.Юзер может стирать сообщение, делать вставку из буфера, вырезать в буфер и тд и тп. Отследить всё будет если реально, то очень сложно. +отследить удаление изображения из редактора я вообще не знаю как.
2.Просто не знаю как реализовать. По идее, ничего сложного: регулярным выражением найти все изображения, и, если есть такой смайл, то заменить на код, а если нет - просто удалить. Но как проверить, является ли картинка именно смайлом?


Javascript'исты, прошу вашей помощи! Принимаются как другие варианты, так и готовые решения и код.

п.с. Javascript знаю плохо.

Kolyaj 09.11.2008 19:36

Цитата:

Сообщение от Aristarco
Естественно, есть проблема: нельзя отправлять php-скрипту готовый HTML код.

Почему?

Octane 09.11.2008 19:37

«Нужен WYSIWYG-редактор»

Aristarco 09.11.2008 19:57

Цитата:

Сообщение от Kolyaj (Сообщение 8218)
Почему?

да, неправильно выразился. Имел ввиду что не хочу переделывать серверную часть, если есть возможность реализовать это на JS. А вообще такой скрипт на PHP уже готов, минут 5 писал :)
Octane, спасибо за линк, но я уже 3-4 редактора до этого посмотрел, и не нашел того, что мне нужно. В лучшем случае - экспорт в виде BB кодов.


Часовой пояс GMT +3, время: 18:17.