【发布时间】:2015-07-07 21:56:24
【问题描述】:
好的,我明白标题可能有点令人困惑,让我详细说明一下。 所以首先我正在制作一个 BBCode 输入部分。然后它将代码从 BBCode 传输到 HTML。现在的问题是我遇到了最小的问题。让我在继续之前发布我的代码:
var newer = $('#my_textarea').val().replace(/\[b\]/gi, '<b>');
现在让我这么说吧,它用<b> 标签正确地替换了[b] 标签。我的问题是我不知道如何对所有标签执行此操作。我尝试过使用以下代码来缩短代码:
var newer = $('#my_textarea').val().replace(/\[(?:b|u|i)\]/gi, '<???>');
然后它将用正确的 HTML 标签替换所有标签(粗体、下划线和斜体)。但是我该怎么做呢?如何将 HTML 标记替换为找到的 BBCode 标记?我的意思是正则表达式(?:b|u|i) 的这一部分,它选择三个字母中的任何一个,我怎么能将同一个字母添加到 HTML 标记中?你明白我的问题是什么吗? :) 请帮忙,谢谢!!
【问题讨论】:
-
一种方法是为所有 bb 标签创建数组,遍历数组以创建一个正则表达式并为每个标签替换
标签: javascript jquery html regex