这段表情正则替换的代码哪里出错了。请教。
时间:2011-12-06
来源:互联网
JScript code
为什么会无法查找到并替换呢?JS_cruel_search方法是正确的。如果我把JS_cruel_search(sp, "$1") 中的"$1"改成"[狂笑]"则可以。请教这是为什么?
var faceArr = "狂笑,大笑,惊讶,害羞,窃笑,发怒,大哭,色色,坏笑"; function JS_cruel_search(data, key) { key = key.replace("[", "").replace("]", ""); var t = ("," + data.toString() + ",").split("," + key + ","); if (t.length && (x = t[0].split(",").length - 1) < data.length) return x; } var str = "极老规矩埰彬极极[狂笑]极[大笑]极[害羞]asdfasdf有极老规矩埰彬极极"; var reg = /\[(.+?)\]/ig; var sp = faceArr.split(","); var result = str.replace(reg, "<img src=images/face/" + JS_cruel_search(sp, "$1") + ".gif align=absmiddle>"); document.write(result);
为什么会无法查找到并替换呢?JS_cruel_search方法是正确的。如果我把JS_cruel_search(sp, "$1") 中的"$1"改成"[狂笑]"则可以。请教这是为什么?
作者: Netcean 发布时间: 2011-12-06
"$1"你这个是什么参数啊。。。能传到JS_cruel_search方法里吗?!
作者: zsx841021 发布时间: 2011-12-06
为什么不能查找从正则中提取出来的文字坐标呢?
JS_cruel_search返回的值都是undefined
JS_cruel_search返回的值都是undefined
作者: Netcean 发布时间: 2011-12-06
引用 1 楼 zsx841021 的回复:
"$1"你这个是什么参数啊。。。能传到JS_cruel_search方法里吗?!
"$1"你这个是什么参数啊。。。能传到JS_cruel_search方法里吗?!
function JS_cruel_search(data, key) {
key = key.replace("[", "").replace("]", "");
return key;
==============
这样是查看图片的源路径,显示已经替换成相应的文字了
如果你有条件的话,能否复制到一个html里面运行看看?谢谢了
作者: Netcean 发布时间: 2011-12-06
var result = str.replace(reg, "<img src=images/face/" + JS_cruel_search(sp, "$1") + ".gif align=absmiddle>");
=>
var result = str.replace(reg, function(m,m1) {
return "<img src=images/face/" + JS_cruel_search(sp, m1) + ".gif align=absmiddle>";
});
=>
var result = str.replace(reg, function(m,m1) {
return "<img src=images/face/" + JS_cruel_search(sp, m1) + ".gif align=absmiddle>";
});
作者: cj205 发布时间: 2011-12-06
var faceArr = "狂笑,大笑,惊讶,害羞,窃笑,发怒,大哭,色色,坏笑";
function JS_cruel_search(data, key) {
key = key.replace("[", "").replace("]", "");
var t = ("," + data.toString() + ",").split("," + key + ",");
if (t.length && (x = t[0].split(",").length - 1) < data.length)
return x;
}
var str = "极老规矩埰彬极极[狂笑]极[大笑]极[害羞]asdfasdf有极老规矩埰彬极极";
//var reg = /(\[[^\[]+\])/ig;
var reg = new RegExp("(\\[[^\\[]+\\])","g");
var tmp = str.match(reg);
for(var i in tmp){
str = str.replace(tmp[i],JS_cruel_search(faceArr.split(","), tmp[i]));
}
document.write(str+"<br/>");
function JS_cruel_search(data, key) {
key = key.replace("[", "").replace("]", "");
var t = ("," + data.toString() + ",").split("," + key + ",");
if (t.length && (x = t[0].split(",").length - 1) < data.length)
return x;
}
var str = "极老规矩埰彬极极[狂笑]极[大笑]极[害羞]asdfasdf有极老规矩埰彬极极";
//var reg = /(\[[^\[]+\])/ig;
var reg = new RegExp("(\\[[^\\[]+\\])","g");
var tmp = str.match(reg);
for(var i in tmp){
str = str.replace(tmp[i],JS_cruel_search(faceArr.split(","), tmp[i]));
}
document.write(str+"<br/>");
作者: babyboy9685 发布时间: 2011-12-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28