javascript 用多个 html 替换()多个 bbcode 实例

标签 javascript html replace bbcode

我需要使用 javascript Replace() 函数将 [b] 或 [/b] 的每个实例替换为 <b></b> 。我用全局标签尝试了这个,但它不起作用并且结果很奇怪:

document.write(str.replace(/[b]/g,'<b>').replace(/[/b]/g,'</b>'));

输出结果为:

[<>]<>la<>la[<>][<>]<>la<>la[<>] 

我还尝试将第一部分更改为:

  document.write(str.replace(/[[b]]/g,'<b>').replace(/[[/b]]/g,'</b>'));

哪种有效,但到处都有奇怪的]...就像这样:

[blabla[/[blabla[/

我知道我可能缺少一些明显的东西...但我找不到它...任何帮助,我会永远爱你 XD

最佳答案

[]/special RegExp characters .

  • [a] 表示:匹配任何a 字符。 [abcd]表示:匹配一个字符,为a、b、c、d之一。 [a-z] 表示:匹配任意字母。
  • / 用于标记正则表达式的开始和结束。

要使用文字字符,必须对它们进行转义。

str.replace(/\[b\]/g,'<b>').replace(/\[\/b\]/g,'</b>')

请注意,可以使用反向引用来合并两个正则表达式:

str.replace(/\[(\/?)b\]/g,'<$1b>')
// Replaces [b] with <b>, [/b] with </b>

关于javascript 用多个 html 替换()多个 bbcode 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9267807/

相关文章:

带有电子邮件地址和密码的 Javascript 数组

javascript - 路由参数更改时刷新组件

javascript - 实例化子类而不构造

javascript - Three.js 3D 模型未显示

javascript - jquery 目标文本节点以 (string1) 开头并以 (string2) 结尾

python - 从字符串列表中选择数字

javascript - UTC 数字通过 highcharts 显示在 xAxis 上

python - HTML 不在 django 中提供图像

javascript - js点击事件在移动菜单上没有响应

javascript - 要求对fixedEncodeURIComponent 进行解释