在javascript中使用html实体加入字符串并显示为HTML?

时间:2017-08-31 17:31:50

标签: javascript html angularjs

在角度控制器文件中,我想添加后缀 ... 以缩短字符串,如果它很长但现在...现在是es6中的扩展运算符,请尝试使用{ {1}}已尝试过,但它会在HTML中打印文本…而非 ...

试验1

…

试验2

let shortName = `${longString.substr(0,9)}${(longString.length>9? '…':'';`

但在HTML中,它显示$sce.trustAsHtml(shortName + '…') 而非 ...

注意:我可以使用&hellp;,但此字符串用作图表中的标签,该标签位于ng-bind-html中,由angular-chrat.js库创建。

我不想通过库来操纵它,而是使用核心Javascipt。

3 个答案:

答案 0 :(得分:2)

如果您将字符集设置为utf-8,则可以使用utf-8等效字符:'…'

你提到你在画布上使用它?如果是这样,您必须将您的实体转换为符号。您可以使用DOMParser。
Here is a way to do that

答案 1 :(得分:0)

你试过ng-bind-html吗? Click here检查文档

答案 2 :(得分:0)

您可以在使用字符串

之前解析HTML entities
let e = document.createElement('div');
e.innerHTML = '…';

let shortName = `${longString.substr(0,9)}${(longString.length>9? ${e.innerText}:'';`

或可以使用DOMParser

let p = new DOMParser();
let d = p.parseFromString('…', 'text/html');
let shortName = `${longString.substr(0,9)}${(longString.length>9? ${d.documentElement.textContent}:'';`