temp=temp.replace(/(\[字 )大小=(d)粗体=([是|否])斜体=([是|否])\](w)\[\/字\]/ig,"")
这是我写的,可是不知道如何写后面的。因为粗体属性的值是“是|否”,而html中是font-style: italic.
就是说怎样把“是|否”转换成“italic|normal”
[b]fdsafdsa[/b] --> <b>fdsafdsa</b> 这样不是更好吗?
至于你的那种情况可以用replace函数~ (利用它的回调函数功能)
你意思是说你只是想把以下的换成你想要的吗:
var s = [字 大小=12 粗体=是(或否) 斜体=是(或否)]这是字[/字]
换成(相同的表示不变)
[字 大小=12 粗体=是 斜体=是]这是字[/字]
s = /\[ *字 *大小 *\= *\ *\d{1,} * *粗体 *= *\ *[是否] *\ *斜体 *= *\*[是否] *\ *\]/gi.exec(s);//只是更改HTML开始标签,就只取得前的,以免下面的方法也更改文本中的,
if(s != null){
s = s.replace(/\= * *是 */gi,"=italic")//要是存在就换成相应的
s = s.replace(/\= * *否 */gi,"=normal")
}
哈哈,搞笑。。。