我知道这个问题已经被问了很多次,但我找不到解决方案。我有一些笑脸,每个笑脸都有使用 replace() 呈现为笑脸的代码,但我收到语法错误,我不知道为什么以及如何将我的代码 :/
呈现为笑脸
txt = " Hi :/ ";
txt.replace("/\:/\/g","<img src='img/smiley.gif'>");
最佳答案
您的正则表达式不需要用引号引起来。您应该转义正确的 /
正斜杠(您转义了错误的斜杠)并分配替换项,因为 .replace
不修改原始字符串。
txt = " Hi :/ ";
txt = txt.replace(/:\//g,"<img src='img/smiley.gif'>");
基于 jonatjano精彩的推演,我觉得你应该在正则表达式中多加一点,以免出现干扰URL这样的灾难。
txt = txt.replace(/:\/(?!/)/g,"<img src='img/smiley.gif'>");
上面通过 negative-lookahead 确保 ://
不匹配.
关于javascript - 如何在 JavaScript 中使 replace() 全局化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51637223/