假设,我有这样的字符串
"Lorem ipsum dolor sit amet, [b]consectetur adipisici elit[/b], sed eiusmod tempor [i]incidunt ut labore[/i] et [size =12]dolore [/size=12] magna aliqua"
我想得到这样的Lorem ipsum dolor sit amet, consectetur adipisici elit ,sed eiusmod tempor incidunt ut labore et dolore
magna aliqua&#34 ;。但这不是我的问题。
问题:当我附加到div时,如何在[b]...[\b]
和[i] ..[/i]
之间获取字符串或在textarea中的[size=12].. [/size=12]
之间添加字符串? [b] [/ b]之间的文字应变为粗体,[i][/i]
之间的文字应变为斜体,[size][/size]
之间的文字应为字体大小。
答案 0 :(得分:1)
您需要两种分开的模式:
获取[b]
和[\b]
之间的所有内容:
\[b\](.*?)\[\/b\]
var str = "Lorem ipsum dolor sit amet, [b]consectetur adipisici elit[/b], sed eiusmod tempor [i]incidunt ut labore[/i] et dolore magna aliqua";
var result = /\[b\](.*?)\[\/b\]/.exec(str);
document.write(result[1]);
获取[i]
和[/i]
之间的所有内容:
\[i\](.*?)\[\/i\]
var str = "Lorem ipsum dolor sit amet, [b]consectetur adipisici elit[/b], sed eiusmod tempor [i]incidunt ut labore[/i] et dolore magna aliqua";
var result = /\[i\](.*?)\[\/i\]/.exec(str);
document.write(result[1]);
此外,如果您需要更换内容,请尝试以下方法:
var str = "Lorem ipsum dolor sit amet, [b]consectetur adipisici elit[/b], sed eiusmod tempor [i]incidunt ut labore[/i] et dolore magna aliqua";
var result = str.replace(/\[b\]|\[\/b\]/g,'**').replace(/\[i\]|\[\/i\]/g,'*');
document.write(result);