你好,我想转换表情从字符串在打字,以显示在html表情。
Typescript文件
export class Example {
emoji:any;
function(){
this.emoji = ":joy:"
}
}
在超文本标记语言文件中,我希望它是这样的(这是我将从typescript文件中获得的元素表情)是这样的可能和方式。感谢所有的帮助。
发布于 2018-08-12 05:49:56
首先,您需要将:joy:映射到相关的unicode字符串。
例如:joy:的unicode代码应该是😂
。
然后,您可以使用它在页面上打印...
这里有一个小示例。
var mapping = {
":joy:" : "😂",
":shades:": "😎",
":happy:" : "😀"
}
var iteration = 0;
function mapEmoji(){
setInterval(function(){
if(iteration == Object.keys(mapping).length)
iteration = 0;
var text = Object.keys(mapping)[iteration];
document.getElementById("emoji").innerHTML = mapping[text];
iteration++;
}, 500);
}
mapEmoji();
<div id="emoji">
</div>
当然,您可能希望向unicode映射对象添加更多的表情符号,并且您可能希望使用相应的unicode代码替换占位符(":joy:"),等等……
发布于 2018-08-12 07:54:51
下面是一个使用emoji map
和regular expression
在文本中替换它们的函数:
const emojiMap = {
joy: "😂",
shades: "😎",
happy: "😀"
}
const regExpression = /:([^:]*):/g
const text = "I was like :joy: and she was like :happy: and we ware like :shades:"
const emojiIt = (re, text) => {
while (result = re.exec(text)) {
text = text.replace(result[0], emojiMap[result[1]])
}
return text
}
document.getElementById('test').innerHTML = emojiIt(regExpression, text)
<div id="test"></div>
因为我们在:
之间进行匹配,所以我们从regEx中获取匹配的单词,然后使用这些单词(没有:
,因为我们进入索引为1的组)来获得适当的html值。
PS。感谢Adriani6为表情符号提供了方便的html表示!
https://stackoverflow.com/questions/51803928
复制相似问题