javascript - 在文本区域中输入哭泣笑脸现场的单引号,用 jquery str.replace() 替换

标签 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>");
}

一切都被替换得很好,但我的 3 次尝试替换哭泣的笑脸 :'( 都失败了

有人有类似问题吗?同样,这里有很多单引号和 Javascript 的问题需要阅读,但我找不到正确的答案。

预先感谢您的努力...

最佳答案

您转义了错误的字符。试试这个:

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

关于javascript - 在文本区域中输入哭泣笑脸现场的单引号,用 jquery str.replace() 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28797836/

相关文章:

javascript - 如何通过 socketid 将 socket.io 套接字添加到房间?

javascript - 通过 iosocket 向 Meteor 发送数据,但不是从 Meteor 客户端(搭载 Meteor 的 io-socket)

javascript - 在单击的图像顶部应用彩色圆圈

javascript - 如何在 Angular2 rc5 中获取路由参数?

php - 正则表达式查找文本中包含特殊字符的字符串

python - 仅在与其他匹配组不同时才匹配组

regex - sed:未终止的 `s' 命令 - 无法弄清楚需要转义的内容

javascript - 为什么我无法从 Node.js 中的回调函数将对象插入数组?

javascript - Electron Auth0Lock "Origin file://not allowed"

javascript - 如何使用 wrapInner() 将特定内容包装在 ah html 标签内?