jQuery - преобразуйте <br> и <br/> и <p/> и такой к новой строке

jQuery - Как Вы преобразовываете <br> и <br /> и <p /> и такой к новой строке?

Делает jQuery, имеют встроенный br2nl() функция - это для преобразования тегов новых строк к удобным для пользователя версиям текстового поля.

8
задан ina 1 August 2010 в 08:38
поделиться

4 ответа

Вы можете создать такую ​​функцию:

jQuery.fn.nl2br = function(){
   return this.each(function(){
     jQuery(this).val().replace(/(<br>)|(<br \/>)|(<p>)|(<\/p>)/g, "\r\n");
   });
};

И использовать ее любым из следующих способов:

$(':input').nl2br();
$('textarea').nl2br();
$('#textarea_id').nl2br();
14
ответ дан 5 December 2019 в 07:33
поделиться

Если вы хотите взять кусок html и заменить
теги и самозакрывающиеся теги символами новой строки, то, сделав что-то вроде:

$('#element-containing-html-to-replace').html().replace(/(<br>)|(<p><\/p>)/g, "\n");

нужно вернуть строку HTML контейнера с этими тегами, замененными символами новой строки.

4
ответ дан 5 December 2019 в 07:33
поделиться

Вы можете использовать этот код, если хотите заменить сами html-элементы:

$('body').find('br').replaceWith("\n");
$('body').find('p').each(function() {
    $(this).replaceWith("\n" + $(this).text() + "\n");
});
2
ответ дан 5 December 2019 в 07:33
поделиться

Не знаю, но вы можете использовать "\ r \ n" ;

РЕДАКТИРОВАТЬ:
Кредиты для @sAc, но обновлены для фактической замены значения и лучшего регулярного выражения:

jQuery.fn.nl2br = function(){
    return this.each(function(){
        var that = jQuery(this);
        that.val(that.val().replace(/(<br\s*\/?>)|(<p><\/p>)/gi, "\r\n"));
    });
};
jQuery("textarea").nl2br();
2
ответ дан 5 December 2019 в 07:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: