将表情符号列表替换为其图像
我有一个数组:
emoticons = {
':-)' : 'smile1.gif',
':)' : 'smile2.gif',
':D' : 'smile3.gif'
}
然后我有一个带有文本的变量。
var text = 'this is a simple test :)';
以及带有网站 url 的变量
var url = "http://www.domain.com/";
如何编写用图像替换符号的函数?
标签结果应该是:(
<img src="http://www.domain.com/simple2.gif" />
我必须将 url 变量连接到图像的名称)。
非常感谢!
I have an array with:
emoticons = {
':-)' : 'smile1.gif',
':)' : 'smile2.gif',
':D' : 'smile3.gif'
}
then i have a variabile with the text.
var text = 'this is a simple test :)';
and a variable with the url of the website
var url = "http://www.domain.com/";
How to write a function that replace the symbols with their images?
The <img>
tag result should be:
<img src="http://www.domain.com/simple2.gif" />
(I have to concatenate the url varible to the name of the image).
THank you very much!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
另一种方法:
编辑: @pepkin88 提出了一个非常好的建议,基于构建正则表达式
emoticons
对象的属性名称。这很容易完成,但如果我们希望它正常工作,我们必须转义元字符。
转义模式存储在一个数组中,稍后用于使用
RegExp
构造函数,基本上连接所有用|
元字符分隔的模式。Another approach:
Edit: @pepkin88 made a really good suggestion, build the regular expression based on the property names of the
emoticons
object.It can be easily done, but we have to escape meta-characters if we want this to work properly.
The escaped patterns are stored on an array, that is later used to build the regular expression using the
RegExp
constructor, by basically joining all the patterns separated with the|
metacharacter.使用带有查找替换元素数组的正则表达式效果很好。
Using a regex with an array of find replace elements works well.