将十进制参考字符串转换为十进制以使用html显示表情符号

时间:2018-06-28 04:07:52

标签: html typescript decimal emoji

该项目是使用Angular和TypeScript构建的。 HTML就是这样,

<span>&#9748;</span>

在范围中有一个十进制参考,渲染时显示为表情符号,如下所示: ☔

现在,我想用返回十进制的函数替换十进制代码&#9748;,以便跨度可以根据输入显示不同的表情符号。返回类型是字符串,我想将其转换为unicode。功能如下:

function getEmojiCode(desc: string): any {
    desc = desc.toLowerCase();
    switch (desc) {
        case 'rain': { return '&#9748;'; }
        case 'clear': { return '&#9731;'; }
        case 'clouds': { return '&#9729;'; }
        default: { return '&#9731;'; }
    }
}

然后将函数放入HTML

<span>{{getEmojiCode(res.desc)}}</span>

在呈现的HTML中,代替跨度,它显示字符串&#9731;作为文本,而不是表情符号。 如何将字符串转换为十进制代码,并在跨度中显示表情符号?

2 个答案:

答案 0 :(得分:1)

实际上,从函数返回的值将作为字符串添加。我不知道您使用的是什么框架,但是在角度上,您会做类似的事情。

<span [innerHTML]="getEmojiCode(res.desc)"≥ </span>

如果您使用其他框架,请将从函数返回的字符串作为innerHTML添加到span ...

答案 1 :(得分:0)

您也可以这样做:

<span>{{String.fromCodePoint(Number(getEmojiCode(res.desc).slice(2,-1)))}}</span>

代码段:

console.log(String.fromCodePoint('&#9748;'.slice(2,-1)))