javascript - 如何使用正则表达式解析 BBCode?
问题描述
我正在使用这个库(https://github.com/DasRed/js-bbcode-parser)来解析 JavaScript 中的一些 bbcode。
我正在向库中添加一个 [quote] 标记,但我的正则表达式不适用于代码。当我在https://www.regextester.com/上尝试它时,它确实与我的文字相匹配。
这是我的文字
[quote:16629e5e6b=\"newUser\"]It's coming down to a marketing challenge[/quote:16629e5e6b]
这是我的正则表达式
'\\[quote[\:0-9a-zA-Z=\\"]*\\](.+)\\[/quote[\:0-9a-zA-Z]*\\]': '<div class="quote">$1</div>'
这是带有JS代码的代码
let bbCode = new BbCodeParser({
'\\[br\\]': '<br>',
'\\[b\\](.+)\\[/b\\]': '<strong>$1</strong>',
'\\[i\\](.+)\\[/i\\]': '<em>$1</em>',
'\\[u\\](.+)\\[/u\\]': '<u>$1</u>',
'\\[u[\:a-zA-Z0-9]*?\\](.+)\\[/u[\:a-zA-Z0-9]*?\\]': '<u>$1</u>',
'\\[h1\\](.+)\\[/h1\\]': '<h1><a href="$1" name="$1">$1</a></h1>',
'\\[h2\\](.+)\\[/h2\\]': '<h2><a href="$1" name="$1">$1</a></h2>',
'\\[h3\\](.+)\\[/h3\\]': '<h3><a href="$1" name="$1">$1</a></h3>',
'\\[h4\\](.+)\\[/h4\\]': '<h4><a href="$1" name="$1">$1</a></h4>',
'\\[h5\\](.+)\\[/h5\\]': '<h5><a href="$1" name="$1">$1</a></h5>',
'\\[h6\\](.+)\\[/h6\\]': '<h6><a href="$1" name="$1">$1</a></h6>',
'\\[p\\](.+)\\[/p\\]': '<p>$1</p>',
'\\[color=(.+)\\](.+)\\[/color\\]': '<span style="color:$1">$2</span>',
'\\[size=([0-9]+)\\](.+)\\[/size\\]': '<span style="font-size:$1px">$2</span>',
'\\[img\\](.+)\\[/img\\]': '<img src="$1">',
'\\[img=(.+)\\]': '<img src="$1">',
'\\[email\\](.+)\\[/email\\]': '<a href="mailto:$1">$1</a>',
'\\[email=(.+)\\](.+)\\[/email\\]': '<a href="mailto:$1">$2</a>',
'\\[url\\](.+)\\[/url\\]': '<a href="$1">$1</a>',
'\\[url=(.+)\\|onclick\\](.+)\[/url\]': '<a onclick="$1">$2</a>',
'\\[url=(.+)\starget=(.+)\\](.+)\[/url\]': '<a href="$1" target="$2">$3</a>',
'\\[url=(.+)\\](.+)\\[/url\\]': '<a href="$1">$2</a>',
'\\[a=(.+)\\](.+)\\[/a\\]': '<a href="$1" name="$1">$2</a>',
'\\[list\\](.+)\\[/list\\]': '<ul>$1</ul>',
'\\[\*\\](.+)\\[/\\*\\]': '<li>$1</li>',
'\\[quote\\](.+)\\[/quote\\]': '<blockquote>$1</blockquote>',
'\\[quote[\:0-9a-zA-Z=\\"]*\\](.+)\\[/quote[\:0-9a-zA-Z]*\\]': '<blockquote>$1</blockquote>',
'\\[google\\](.+)\\[/google\\]': '<a href="https://www.google.com/search?q=$1" target="_blank">$1</a>'
});
谢谢您的帮助
解决方案
推荐阅读
- pandas - 为什么我在应用映射(类型)时在熊猫中得到“'numpy.dtype'对象不可调用”
- elasticsearch - 在logstash中转换的日期解析失败
- c# - 如何在 Unity 中制作没有可重复卡片的卡片组列表
- html - 如有必要,定位绝对全宽
- spring-security - 覆盖 Spring Boot 安全性
- sql - 查询运行缓慢且缺少索引
- react-native - 使用 expo 在 react-native 中重新渲染错误太多
- javascript - React Js:如何读取 csv 文件?(所有列中只有 4 列)
- html - 弯曲一个指向 div 的点
- git - 如何 git 克隆从多个 svn 项目构建的单个 svn 项目