javascript - 将 Carrage 返回转换为 br 标签

标签 javascript jquery regex parsing jquery-plugins

我在解析文本区域中的回车时遇到了一个小问题。

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 中修复此问题。我的预期输出是这样的

&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

提前致谢...

最佳答案

尝试替换:

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

与:

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

另请注意,在 textarea 中,它们都归结为 \n,因此您需要替换为其中的两个,例如 \n\n

关于javascript - 将 Carrage 返回转换为 br 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3340870/

相关文章:

regex - 如何使用可选组作为以下首选 java 语法使用 Regex 解析文本

javascript - 使用 JavaScript 将 dataTable 添加到 HTML 表 : Cannot read property 'parentNode' of null

javascript - 使用多个 div 元素时创建增长/收缩计时器会中断

c# - C# Regex 如何捕获 *| 之间的所有内容?和 |*?

php - 创建一个输出用户输入数字的计算页面

jQuery 检查空变量

asp.net - 使用 Regex 在正则表达式中查找正则表达式点

javascript - 如何在字符串中使用反斜杠 (\)?

javascript - ReactJS - 在带有 React 路由器的 URL 中使用 slug 而不是 Id

javascript - 在 javascript 中是否有比这更好的方法来实现函数式递归 findById?