在文本区域中,输入用jquery str.replacement()替换哭泣的smiley live的单引号

In textarea entered single quote of crying smiley live replacing with jquery str.replace()

本文关键字:替换 live smiley 单引号 replacement 区域 文本 输入 str jquery      更新时间:2023-09-26

在用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>")