jQuery: конвертирование содержимого TextArea в строку html и наоборот - PullRequest
14 голосов
/ 27 сентября 2010

Я пытаюсь преобразовать содержимое 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-строку (и наоборот) или я должен написать функцию самостоятельно?

Заранее спасибо!

Ответы [ 3 ]

19 голосов
/ 27 сентября 2010

При соответствующей стилизации элемента вам не нужно ничего преобразовывать.Используя свойство CSS white-space со значением, установленным в pre , любое пустое пространство в элементе должно отображаться точно так же, как в текстовой области:

#myElement { white-space: pre; }

Пример: http://jsfiddle.net/TkpSu/

10 голосов
/ 27 сентября 2010

Ну, это не очень сложно:

$('#element').html($('textarea').html().replace(/\n/g, "<br />"));
1 голос
/ 27 сентября 2010

Попробуйте заглянуть в редактор уценок. Переполнение стека использует модифицированную версию: http://wmd -editor.com /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...