JQuery: преобразовать содержимое TextArea в строку html и наоборот
то, что я пытаюсь сделать, это преобразовать содержимое TextArea в действительный html-код. Предположим, вы ввели текст в TextArea, а затем нажмите кнопку, которая отображает введенный текст внутри элемента. Если вы набрали что-то вроде TextArea:
Привет, ребята!
Вам нравится jQuery?
Я делаю!
Результирующая строка, которую вы должны ввести внутри элемента '::
Hi folks!<br>Do you like jQuery?<br>I do!
Это потому, что новая строка внутри TextArea должна быть преобразована в тег <br>
!
То же самое должно произойти, если вы хотите взять html элемента и поместить его в поле ввода TextArea, например:
Hi folks!<br>Do you like jQuery?<br>I do!
следует преобразовать в:
Привет, ребята!
Вам нравится jQuery?
Я делаю!
Итак, есть ли способ преобразовать строку в html-строку (и наоборот), или я должен написать функцию самостоятельно?
Спасибо заранее!
Ответы
Ответ 1
При соответствующем стилизации элемента вам не нужно ничего конвертировать. Используя свойство белого пробела CSS со значением, заданным для pre, любое белое пространство в элементе должно отображаться точно так же, как в текстовом поле:
#myElement { white-space: pre; }
Пример: http://jsfiddle.net/TkpSu/
Ответ 2
Ну, это не очень сложно:
$('#element').html($('textarea').html().replace(/\n/g, "<br />"));
Ответ 3
Рассмотрите возможность поиска в редакторе разметки. Переполнение стека использует измененную версию этого: http://wmd-editor.com/