1
x.innerHTML.replace(/@(.*?)/g, '<img src="'+get_data($1)+'">$1</img>')

有什么方法可以将 $1 用于 get_data 函数?感谢您的建议。

更新

评论中明确指出,OP 还希望匹配 @word 形式的数据并专门提取单词字符串。

4

2 回答 2

2

您可以调用x.innerHTML.replace(rx,function),该函数将使用以下参数调用:

  • 匹配的子串
  • 1美元,2美元……
  • 比赛的偏移量
  • 完整的比赛

所以你可以这样做:

x.innerHTML.replace(/@(\S+)/g,function(string,data1){

 return '<img src="'+get_data(data1)+'">'+data1+'</img>');

});

这是关于替换的 MDN 文档

于 2013-03-11T23:52:44.017 回答
0

这行得通吗?

var str = x.innerHTML.replace(/@(.*?)/g, "$1");
var img = '<img src="'+get_data(str)+'">'+str+'</img>';
于 2013-03-11T23:52:18.883 回答