在textarea进入单引号哭泣笑脸现场替换为jquery str.replace()

时间:2015-03-01 19:10:40

标签: javascript jquery regex

在使用php创建和替换哭泣的笑脸:'(时,我遇到了类似的问题。我找到了一个有一些支持的解决方案。现在我的Jquery函数遇到了同样的问题。

发送聊天消息时,消息被发送到服务器并输入数据库,但同时消息被推送到聊天窗口,其中包含jQuery` .html(newMessage)'

要替换newMessage中的笑脸快捷键,我获得了以下功能(简短版)

 function replaceSmileys(message){
    return message
    .replace(":-)","<a title=':-)'><i class='smiley smile'></i></a>")
    .replace(":)","<a title=':-)'><i class='smiley smile'></i></a>")
    .replace(":(","<a title=':-('><i class='smiley sad'></i></a>")
    .replace(":-(","<a title=':-('><i class='smiley sad'></i></a>")
    .replace(":')","<a title=\":'(\"><i class='smiley crying'></i></a>")
    .replace(':\')',"<a title=\":'(\"><i class='smiley crying'></i></a>")
    .replace(":&#39;(","<a title=\":'(\"><i class='smiley crying'></i></a>");
}

一切都被替换得很好但是我试图取代哭泣的笑脸:'(全部失败

有类似问题吗?同样,单引号和Javascript存在许多问题需要通读,但我找不到合适的答案。

提前感谢您的努力...

1 个答案:

答案 0 :(得分:1)

你正在逃避错误的角色。试试这个:

replace(":'(","<a title=':\'('><i class='smiley crying'></i></a>")