我正在尝试用标签(**
)替换每组通配符(<p></p>
)。
例如,如果我有:
var stuff = array(
"The color *blue*!!!!",
"The color *red*!!!!",
"The colors *red* and *blue*!!!!"
);
我想输出:
var stuff = array(
"The color <p>blue</p>!!!!",
"The color <p>red</p>!!!!",
"The colors <p>red</p> and <p>blue</p>!!!!"
);
最有效的方法是什么?
答案 0 :(得分:3)
为什么不运行一个简单的循环:
for(var i=0; i < stuff.length; i++) {
stuff[i] = stuff[i].replace(/[*]([^*]+)[*]/g, '<p>$1</p>');
}
答案 1 :(得分:1)
尝试
var stuff = [
"The color *blue*!!!!",
"The color *red*!!!!",
"The colors *red* and *blue*!!!!"
];
var res = stuff.map(function(o){
return o.replace(/\*(.*?)\*/g,'<p>$1</p>');
});
或只是一个循环
for(var i=0, len = stuff.length; i<len; i++){
stuff[i] = stuff[i].replace(/\*(.*?)\*/g,'<p>$1</p>');
}
<强> Fiddle 强>