如何使用jQuery从textarea中转义特殊字符?

时间:2012-09-13 15:05:27

标签: javascript jquery html jquery-plugins

我想知道是否有任何jquery组件自动处理特殊字符。 这基本上意味着将&转换为&amp以及here中列出的所有内容,以便当我将数据发送到后端时,它会以该格式存储。 然后在检索时我们需要将其从&amp转换回&

我们将使用大量的数学符号,因此我们需要JavaScript中的功能。此外,我已经看到了一个富文本编辑器,但我们不需要很多功能,如图像,段落等,虽然我们希望文本编辑器有一些图标或东西插入数学符号和源​​代码。简而言之,我看起来像Stackoverflow编辑器,没有图像。

3 个答案:

答案 0 :(得分:4)

您可以使用jQuery为您执行此操作:

function htmlEncode(value){
    if (value) {
        return jQuery('<div />').text(value).html();
    } else {
        return '';
    }
}

function htmlDecode(value) {
    if (value) {
        return $('<div />').html(value).text();
    } else {
        return '';
    }
}


$(document).ready(function() {
    alert( htmlEncode ("this is a & test") );
});

代码最初来自http://www.naveen.com.au/javascript/jquery/encode-or-decode-html-entities-with-jquery/289

答案 1 :(得分:0)

你没有说明你是如何提交的,但encodeURIComponent可能是你的朋友。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/encodeURIComponent

我发布时链接已关闭,但Mozilla应该很快启动并运行。

答案 2 :(得分:0)

函数encodeURIComponent($('#textarea').val())将解决您的问题。