Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Картинка смайл в <TextArea></...> 
:(
    Опции темы
vdm
Дата 30.9.2008, 22:49 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 236
Регистрация: 16.10.2007

Репутация: нет
Всего: нет



Каким образом можно автоматически заменять смайлы ":)", ":(", ... на соответствующие картинки в самой <textarea></...>, когда пользеватель что либо пишет?
PM MAIL   Вверх
SelenIT
Дата 30.9.2008, 22:58 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Никак. И PHP тут ни при чем - это ограничение HTML.

Чтобы получить желаемый эффект, нужно вместо textarea использовать какой-нибудь WYSIWYG-редактор. Подробности можно найти в разделе по JavaScript и в гугле (само собой;), есть десятки готовых решений разной степени сложности и навороченности. Только при этом нужно очень тщательно следить за вводом, чтобы там "случайно" не оказалось "незапланированных" тегов...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Dima 2015
Дата 30.9.2008, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 16.3.2008
Где: SPb

Репутация: 2
Всего: 2



vdm, а можно ли? Что-то я сильно в этом сомневаюсь...  И уж точно это вопрос не по РНР. РНР выполняется на сервере, а он понятия не имеет о том что юзер что-то пишет в текстарии, до тех пор пока форма не отправлена на сервер.

Тут нужно клиентское приложение. Но на счет JavaScript я что то сомневаюсь, вообще не думаю что в textarea картинки могут быть...

Добавлено через 4 минуты и 38 секунд
SelenIT, кстати сам сейчас задумался.. а как там это реализовано, в качестве поля для ввода текста что выступает?

Просто пустой фрейм, в котором джаваскриптом ловятся все кнопки и меняется текст самого хтмл?
PM MAIL ICQ   Вверх
skyboy
Дата 30.9.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Dima 2015 @  30.9.2008,  22:01 Найти цитируемый пост)
Просто пустой фрейм

зачем фрейм? обычный div. в остальном - как ты и сказал, javascript. а в textarea формируется bb-code или html, который при отправке формы уйдет на сервер.
PM MAIL   Вверх
SelenIT
Дата 30.9.2008, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Цитата(Dima 2015 @  30.9.2008,  23:01 Найти цитируемый пост)
в качестве поля для ввода текста что выступает?

Есть свойство document.designMode (в FF/Опере 9) и элемент.contentEitable (в IE), которые позволяют редактировать HTML в реальном времени, словно в каком-нибудь Frontpage. А потом, как правило, по какому-то событию innerHTML этого дела копируется либо в невидимую textarea, либо в hidden-поле формы.

Цитата(skyboy @  30.9.2008,  23:19 Найти цитируемый пост)
зачем фрейм?

Если не путаю, designMode можно установить лишь для всего документа, поэтому в кроссбраузерных редакторах действительно используется именно iframe. Впрочем, могу ошибаться - давно не следил за прогрессом в этой отрасли...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
Dima 2015
Дата 30.9.2008, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 16.3.2008
Где: SPb

Репутация: 2
Всего: 2



SelenIT, 
skyboy, 

iframe - просто глянул редактор у нас на сайте ordinators.ru, там стоит Spaw 2 Editor (уж не знаю известная это вещь или нет...)

Так вот там хтмл-структура в районе поля ввода выглядит так:

Код

<iframe id="body_rEdit" frameborder="no" src="/spaw2/empty/empty.html?0.61759400 1222806564"
style="width: 100%; height: 200px; display: inline;" name="body_rEdit">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="/spaw2/wysiwyg.css">
</link>
</head>
<body dir="ltr">
...


И в момент ввода данных в поле меняется то, что после <body dir="ltr">. Набираю "ку-ку" и это ку-ку появляется прямо после закрытия тега <body dir="ltr">. Вот такая петрушка. Надо так понимать это все на JS делается... возникает вообще некое благоговение перед тем кто это писал : )))

Добавлено через 6 минут и 59 секунд
SelenIT, да ты прав. Просмотрел сейчас код редактора. Действительно мелькает там designMode.

А вот contentEitable  не мелькает, ну да бог с ним smile

Раскурить что и как там делается я так с ходу конечно не в состоянии, штука могучая, кода тонны...

Это сообщение отредактировал(а) Dima 2015 - 30.9.2008, 23:34
PM MAIL ICQ   Вверх
SelenIT
Дата 30.9.2008, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 32
Всего: 401



Цитата(Dima 2015 @  30.9.2008,  23:32 Найти цитируемый пост)
уж не знаю известная это вещь или нет...

Достаточно известная. Известнее, имхо, только HTMLarea, FCKeditor и TinyMCE (по крайней мере, у нас), ну еще RichText Editor. Вообще для WYSIWYG-редактирования у браузеров есть специальное API, так что в теории управляться с ним через JS не так и сложно (на практике, как водится, больше всего заморочек - борьба с конкретными браузерными глюками;). Имхо, неплохая статья про "изнанку" подобных вещей - здесь.

Только вот к PHP это все не имеет никакого отношения, как справедливо отмечено выше smile


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0495 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.