var emoticons = [
{ name: "微笑", icon: "App_Themes/Default/images/emoticons/0.gif" },
{ name: "呲牙", icon: "App_Themes/Default/images/emoticons/1.gif" }
];var str = "[微笑[呲牙]";str.replace(/\[[^\]]+?\]/g, function (word) {
var name = word.substring(1, word.length - 1);
for (var i = 0; i < emoticons.length; i++) {
if (name == emoticons[i].name)
return "<img src='" + emoticons[i].icon + "' />";
}
return word;
});// 返回的字符串是:[微笑[呲牙] 没有替换后面的[呲牙]
// 想要的效果是:[微笑<img src='App_Themes/Default/images/emoticons/1.gif' />
我想把中括号和里面对内容替换成对应的img标签,正常的话,这个正则可以。。比如:[微笑][呲牙]
但是如果像上面那样,少了半边括号,就不行了。前面少了半边括号不替换,但是后面的[呲牙]也没替换。求指点正则JavaScript字符串
{ name: "微笑", icon: "App_Themes/Default/images/emoticons/0.gif" },
{ name: "呲牙", icon: "App_Themes/Default/images/emoticons/1.gif" }
];var str = "[微笑[呲牙]";str.replace(/\[[^\]]+?\]/g, function (word) {
var name = word.substring(1, word.length - 1);
for (var i = 0; i < emoticons.length; i++) {
if (name == emoticons[i].name)
return "<img src='" + emoticons[i].icon + "' />";
}
return word;
});// 返回的字符串是:[微笑[呲牙] 没有替换后面的[呲牙]
// 想要的效果是:[微笑<img src='App_Themes/Default/images/emoticons/1.gif' />
我想把中括号和里面对内容替换成对应的img标签,正常的话,这个正则可以。。比如:[微笑][呲牙]
但是如果像上面那样,少了半边括号,就不行了。前面少了半边括号不替换,但是后面的[呲牙]也没替换。求指点正则JavaScript字符串
var emoticons = [
{ name: "微笑", icon: "App_Themes/Default/images/emoticons/0.gif" },
{ name: "呲牙", icon: "App_Themes/Default/images/emoticons/1.gif" }
];
var str = "[微笑[呲牙]";
str.replace(/\[([^\]\[]+?)\]/g, function(a, b) {
for (var i = 0; i < emoticons.length; i++) {
if (b == emoticons[i].name) return "<img src='" + emoticons[i].icon + "' />";
}
return a;
});