将特殊字符实体名称转换为实际符号

时间:2015-10-08 07:35:04

标签: javascript html angularjs entity symbols

我得到一个json作为回报,其值为&<>"我需要一个通用的解决方案,将所有这些转换为实际值,如& amp as&,& quot into"等。 我不想像下面的代码一样使用anthing,因为将来会有更多不同的符号 -

    $scope.oldNotification[i].shorttext=$scope.oldNotification[i].shorttext.replace(/&/g, '&');
    $scope.oldNotification[i].shorttext=$scope.oldNotification[i].shorttext.replace(/&lt;/g, '<');
    $scope.oldNotification[i].shorttext=$scope.oldNotification[i].shorttext.replace(/&gt;/g, '>');
    $scope.oldNotification[i].shorttext=$scope.oldNotification[i].shorttext.replace(/&quot;/g, '"');
    $scope.oldNotification[i].shorttext=$scope.oldNotification[i].shorttext.replace(/&#039;/g, "'");

有没有api来处理这些值并将它们转换为实际值? 我正在使用angularJs。

2 个答案:

答案 0 :(得分:0)

由于你正在使用angular,你可以使用jQuery。

只需使用jQuery创建一个元素,然后使用其text()属性

解析它
var str = $( "<span>&quotDale ca&ntilde;a&quot&#169;</span>" ).text();
console.log(str);

输出是“Dalecaña”©

您需要将字符串放在有效的html标记中,例如'<span>'+yourtext+'</span>'

Fiddle demo

点击“运行”并打开浏览器的控制台

答案 1 :(得分:0)

得到答案......为所有角色工作(我检查过)......

$scope.oldNotification[i].shorttext=$('<textarea />').html($scope.oldNotification[i].shorttext).text();