2014-09-06 125 views
1

我有一个字符串,其中包含文字,包括特殊字符如撇号,引号,符号等,我希望将其转换为HTML字符代码。显示&#39,而不是一个撇号等(根据以下列表:。http://www.w3.org/MarkUp/html-spec/html-spec_13.htmlJavascript/jQuery:如何将字符串转换为HTML字符代码

我不一定需要,只要转换字母和空格作为上述以及其他一些基本的字符编码正确

对于一个临时的解决方法我用简单的内容替换像str = str.replace("'", "&#39")但想避免这种情况,因为它只涉及某些字符。

我在想encodeURIencodeURIcomponent但想知道什么是没有实现这一目标的最好和最简单的方法编码超过需要。

有人可以告诉什么是最好的方法,如果这个想法是为了避免任何问题与其他JS动态插入,尤其是它。考虑单引号,双引号和其他可能导致问题的字符(仅指JavaScript/jQuery和英文语言)?

+0

我一个月前会问这个问题......然后忘了。 – 2014-09-06 17:59:38

+1

JavaScript实际上并没有内置实体编码器,但URI编码完全不同。最好的选择可能是更换,这使得它是重复的。 – adeneo 2014-09-06 17:59:49

+0

谢谢你。你是对的。 – user2571510 2014-09-06 18:01:50

回答

1
function encodeEntities(value) { 
    return $('<div />').text(value).html(); 
} 
+0

非常感谢!这是否涵盖了所有上述例子? – user2571510 2014-09-06 18:01:12