Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript regexp正向查找以动态替换/包装URL中的文本_Javascript_Jquery - Fatal编程技术网

javascript regexp正向查找以动态替换/包装URL中的文本

javascript regexp正向查找以动态替换/包装URL中的文本,javascript,jquery,Javascript,Jquery,使用jQuery/Javascript,我希望匹配多个容器中的文本,并在URL中使用匹配的文本时围绕文本包装一个链接 输入HTML: 这只狗跳过了标识号为12345-6789的栅栏,撞上了另一个标识号为98765-4321的栅栏。 狗继续跳过标识号为12345-6789的围栏,再次撞上另一个标识号为98765-4321的围栏。 输出HTML: 那条狗跳过了栅栏id,然后撞上了另一个栅栏id。 狗继续跳过栅栏id,又一次撞上了另一个栅栏id。 这是我到目前为止所做的(没有工作) $(“di

使用jQuery/Javascript,我希望匹配多个容器中的文本,并在URL中使用匹配的文本时围绕文本包装一个链接

输入HTML:

这只狗跳过了标识号为12345-6789的栅栏,撞上了另一个标识号为98765-4321的栅栏。
狗继续跳过标识号为12345-6789的围栏,再次撞上另一个标识号为98765-4321的围栏。
输出HTML:

那条狗跳过了栅栏id,然后撞上了另一个栅栏id。
狗继续跳过栅栏id,又一次撞上了另一个栅栏id。
这是我到目前为止所做的(没有工作)

$(“div:contains('fence id:'))”).html(函数(\ux,html){
var rx=new RegExp('fence id:[0-9A-Z-]+','gi');
返回html.replace(rx',);
});
你已经非常接近了

首先,您需要通过使用
()
创建捕获组来确保您的正则表达式实际上正在捕获id文本:

var rx = new RegExp('fence id:([0-9A-Z-]+)','gi');
其次,当使用
$1
引用捕获组时,您实际上只想将其包含在替换字符串中,而不是将其视为变量:

return html.replace(rx, '<a href="123.45678.com?id=$1">$1</a>');
返回html.replace(rx',);
$(“div:contains('fence id:'))”).html(函数(\ux,html){
var rx=new RegExp('fence id:([0-9A-Z-]+),'gi');
返回html.replace(rx',);
});

这只狗跳过了标识号为12345-6789的栅栏,撞上了另一个标识号为98765-4321的栅栏。
狗继续跳过标识号为12345-6789的围栏,再次撞上另一个标识号为98765-4321的围栏。

是的,就是这样!这一次我的头撞在桌子上。谢谢
$("div:contains('fence id:')").html(function(_,html){
     var rx = new RegExp('fence id:[0-9A-Z-]+','gi');
     return html.replace(rx, '<a href="123.45678.com?id='+$1+'">'+$1+'</a>');
});
var rx = new RegExp('fence id:([0-9A-Z-]+)','gi');
return html.replace(rx, '<a href="123.45678.com?id=$1">$1</a>');