Jquery 正则表达式和BBCode的问题

Jquery 正则表达式和BBCode的问题,jquery,regex,replace,Jquery,Regex,Replace,大家好,我今天一直在尝试做bbcode,但我真的不懂regex,我想把html代码转换成bbcode代码,尝试了几次,但都没有成功 以下是HTML代码: <SPAN STYLE="FONT-SIZE:18PX">Hello</SPAN> ---or--- <span style="font-size:18px">Hello</span> 是否可以只使用regex/replace?我试着使用一些库来做这件事,但也没有成功 这是我一直在使用的函数 f

大家好,我今天一直在尝试做bbcode,但我真的不懂regex,我想把html代码转换成bbcode代码,尝试了几次,但都没有成功

以下是HTML代码:

<SPAN STYLE="FONT-SIZE:18PX">Hello</SPAN>
---or---
<span style="font-size:18px">Hello</span>
是否可以只使用regex/replace?我试着使用一些库来做这件事,但也没有成功

这是我一直在使用的函数

function HTMLtoBBCode(text) {
    text = text.replace(/<b>/gi, "[b]");
    text = text.replace(/<\/b>/gi, "[/b]");
    text = text.replace(/<i>/gi, "[i]");
    text = text.replace(/<\/i>/gi, "[/i]");
    text = text.replace(/<u>/gi, "[u]");
    text = text.replace(/<\/u>/gi, "[/u]");
    text = text.replace(/<br>/gi, "\n\r");
    text = text.replace(/<br(.*?)\/>/gi, "\n\r");
    text = text.replace(/<img[^>]*?src="([^"]*?)"[^>]*?>/gi, "[img]$1[/img]");
    text = text.replace(/<font[^>]*?size="?([^">]*?)"?>((?:[\s\S](?!<font[^>]*?size))*?)<\/font>/gi, "[size=$1]$2[/size]");
    return text;
}
函数HTMLtoBBCode(文本){
text=text.replace(//gi,“[b]”);
text=text.replace(//gi,[/b]”);
text=text.replace(//gi,“[i]”);
text=text.replace(//gi,[/i]”);
text=text.replace(//gi,“[u]”);
text=text.replace(//gi,[/u]”);
text=text.replace(/
/gi,“\n\r”); text=text.replace(//gi,“\n\r”); text=text.replace(/]*?>/gi,“[img]$1[/img]”); text=text.replace(/]*?size=“?([^”>]*?)”?>(((?:[\s](?!]*?size))*?)/gi,“[size=$1]$2[/size]”; 返回文本; }
解决方案:
text=text.replace(/([\s\s]*?)/gi,“[size=$1]$2[/size]”;
提前感谢。

模式:

<span style="font-size:(\d+)px">(.+?)</span>

这假设了ignoreCase标志。

span中是否有其他需要维护的样式?例如,
span始终是这样的情况下会发生什么,只有数字会改变。我正在制作一个用户脚本,无法访问主机。像一个符咒一样工作,我花了一段时间才弄明白如何使用它,我必须对其进行了修改,但最终成功了,谢谢。(OP中添加了解决方案)
text = text.replace(/<span style="font-size:(\d+)px">([\s\S]*?)<\/span>/gi, "[size=$1]$2[/size]");
<span style="font-size:(\d+)px">(.+?)</span>
[size=$1]$2[/size]