Преобразуйте возвраты Carrage в теги br

Я застреваю с небольшой проблемой парсинга carrage возврат в текстовой области.

Код jQuery

$.fn.escapeHtml = function() {
    this.each(function() {
        $(this).html(
            $(this).html()
                .replace(/"/g,""")
                .replace(/&/g,'&')
                .replace(/</g,'&lt;')
                .replace(/>/g,'&gt;')
                .replace(/'/g,'&apos;')
                // For converting carrage return (enter key) to br
                .replace(/(\r\n|\r|\n)/g, '&lt; br &gt;')
                .replace(/183/g,'&middot;')
        );
    });
    return $(this);
}
})(jQuery);

В Firefox это работает и дает вывод как

&lt;big&gt;Heading&lt;/big&gt;<br>Test Line 1<br>Test Line 2<br>Test Line 3

В Internet Explorer это не работает вообще.. Как я фиксирую это в IE. Мой вывод intented похож на это

&lt;big&gt;Heading&lt;/big&gt;&lt;br&gt;Test Line 1&lt;br&gt;Test Line 2&lt;br&gt;Test Line 3

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

1
задан Sullan 27 July 2010 в 05:02
поделиться

1 ответ

Попробуйте заменить:

.replace(/(\r\n|\r|\n)/g, '&lt; br &gt;')

на:

.replace(/(\n\n|\r|\n)/g, '&lt; br &gt;')

Обратите внимание, что в текстовом поле они оба сводятся к \ n , поэтому вам нужно заменить их двумя, например, \ n \ n .

2
ответ дан 2 September 2019 в 22:43
поделиться
Другие вопросы по тегам:

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