Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Преобразование bb кодов (cyberx)
Author Message
cyberx
Участник форума



Joined: 25 Dec 2009
Posts: 29
Карма: -1
   поощрить/наказать


PostPosted: Fri Aug 27, 2010 4:38 pm (написано за 22 секунды)
   Post subject: Преобразование bb кодов
Reply with quote

Здраствуите! Нашел простенький пример редактора bb кодов, но возникла одна проблема.
Code (JavaScript): скопировать код в буфер обмена
function BBcode(id)
 {
  //тут id например b
  var button_id = attribs = id;
  if (/\[.*\]/.test(attribs)) {attribs = attribs.replace(/.*\[(.*)\]/, ' $1'); } else attribs = ''
  var start = '['+button_id+attribs+']';
  var end = '[/'+button_id+']';
  element = document.getElementById('ChatTextArea');
  if (document.selection)
   {
    element.focus();
    sel = document.selection.createRange();
    sel.text = start + sel.text + end;
   }
  else if (element.selectionStart || element.selectionStart == '0')
   {
    element.focus();
    var startPos = element.selectionStart;
    var endPos = element.selectionEnd;
    element.value = element.value.substring(0, startPos) + start + element.value.substring(startPos, endPos) + end +
        element.value.substring(endPos, element.value.length);
   }
  else
   {
    element.value += start + end;
   }
 
 }
Все работает но как сделать чтоб в textarea вставлялся уже преобразованный код, смайлик и текст? После отправки проблем нет, на пхп я обрабатываю, не знаю как тут обработать.
Back to top
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Fri Aug 27, 2010 4:57 pm (спустя 19 минут; написано за 1 минуту 17 секунд)
   Post subject:
Reply with quote

cyberx,
ну.... Первое что может прийти в голову - не использовать TextArea, а взять какой-нибудь див с свойством contentEditable в true.

Вы лучше в строну готовых редакторов посмотрите, судя по вашим требованиям - вам именно они и подходят. (-;
Back to top
View user's profile Send private message Send e-mail
cyberx
Участник форума



Joined: 25 Dec 2009
Posts: 29
Карма: -1
   поощрить/наказать


PostPosted: Fri Aug 27, 2010 7:01 pm (спустя 2 часа 3 минуты; написано за 40 секунд)
   Post subject:
Reply with quote

Я пару посмотрел и там был textarea. Попробовал сделать так но не получилось, это по моему относится только к формам
Code (html): скопировать код в буфер обмена
<div (december.com/html/4/element/div.html) id='mytext' contenteditable='true'> (december.com/html/4/element/.html)</div>
<a (december.com/html/4/element/a.html) onClick="BBCode();"> (december.com/html/4/element/.html)click</a>
Code (JavaScript): скопировать код в буфер обмена
function BBCode()
 {
  var button_id = attribs = 'b'; // к примеру передал тег b
  if (/\[.*\]/.test(attribs)) {attribs = attribs.replace(/.*\[(.*)\]/, ' $1'); } else attribs = ''
  var start = '['+button_id+attribs+']';
  var end = '[/'+button_id+']';
  element = document.getElementById('mytext');
  if (document.selection)
   {
    element.focus();
    sel = document.selection.createRange();
    sel.text = start + sel.text + end;
   }
  else if (element.selectionStart || element.selectionStart == '0')
   {
    element.focus();
    var startPos = element.selectionStart;
    var endPos = element.selectionEnd;
    element.value = element.value.substring(0, startPos) + start + element.value.substring(startPos, endPos) + end +
        element.value.substring(endPos, element.value.length);
   }
  else
   {
    element.value += start + end;
   }
 }
Back to top
View user's profile Send private message
cyberx
Участник форума



Joined: 25 Dec 2009
Posts: 29
Карма: -1
   поощрить/наказать


PostPosted: Sat Aug 28, 2010 12:44 pm (спустя 17 часов 43 минуты; написано за 7 секунд)
   Post subject:
Reply with quote

Никто не поможет решить эту проблему? :(
Back to top
View user's profile Send private message
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Sat Aug 28, 2010 3:11 pm (спустя 2 часа 27 минут; написано за 42 секунды)
   Post subject:
Reply with quote

cyberx,
вы меня не поняли - мало заменить текстарею на див с contentEditable, код разумеется тоже нужно переписывать. Я вас лишь подтолкнул к решению,
а писать код за вас здесь никто не будет.
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Thu Sep 09, 2010 1:26 pm (спустя 11 дней 22 часа 14 минут)
   Post subject:
Reply with quote


М

Ветка выделена в отдельную тему «спам»,
расположенную в форуме Мусоропровод (09 Сентября 2010, 16:26).
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML