在转换HTML实体时阻止工具提示

时间:2017-04-03 08:20:30

标签: javascript html angularjs

<input ng-model="test" placeholder="pre" type="text" title="PROJECT&GT" />

以上工具提示代码显示“PROJECT&gt;”。但我需要的是将文本显示为“PROJECT&amp; GT”

有办法做到这一点吗?我正在使用角度。

3 个答案:

答案 0 :(得分:3)

您需要在标题中使用编码的字符串。您可以使用this one等在线工具执行此操作。

&#13;
&#13;
<input ng-model="test" placeholder="pre" type="text" title="PROJECT&amp;GT" />
&#13;
&#13;
&#13;

答案 1 :(得分:3)

你可以尝试这样的事情: 创建角度过滤器:

angular.module('ppvApp.event').filter('escapeHtml', function() {

    var charMap= {
        "&": "&amp;",
        "<": "&lt;",
        ">": "&gt;",
        '"': '&quot;',
        "'": '&#39;',
        "/": '&#x2F;'
    };

    return function(str) {
        return String(str).replace(/[&<>"'\/]/g, function(s) {
            return charMap[s];
        });
    }
});

然后将其用作:

 <input ng-model="test" placeholder="pre" type="text" title="{{'PROJECT&GT' | escapeHtml}}" />

答案 2 :(得分:1)

一种方法是将&GT(或任何其他类似实体)分隔为&#xfeff;,这是零宽度不间断空间< / strong>(http://www.codetable.net/hex/feff),像这样:

&#13;
&#13;
<input ng-model="test" placeholder="pre" type="text" title="PROJECT&&#xfeff;GT" />
&#13;
&#13;
&#13;