如何使用jQuery将以/和超过8个字符(文本字符串结束于第一个空空间)开头的任何文本字符串替换为指向方位角/此处文本字符串的链接?
例如:
/sA9xK4D将转换为<a href="imugr.com/sA9xK4D">/sA9xK4D</a>
/Pq9xV39x a,#xK2F将转换为<a href="imgur.com/Pq9xV39x">/Pq9xV39x</a> a,#xK2F
此代码不起作用;它说未定义不是一个函数。
content = $("body").replace(/(\/[a-zA-Z0-9]{1,8})(?=\s)/g, '<a href="http://www.imgur.com$1" target="_blank">$1</a>');
$("body").html(content) 发布于 2014-06-24 07:42:18
以下几个应该适合你的需要:
(/[a-zA-Z0-9]{8,})(?=\s)

用<a href="industus.com$1">$1</a>代替
用德布盖克斯实现可视化
基于RegExr的演示
如何在JavaScript中使用它(示例):
// initial content
var content = document.getElementById("init").innerHTML;
// replace using the "global" flag
// see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
content = content.replace(/(\/[a-zA-Z0-9]{8,})(?=\s)/g, '<a href="industus.com$1">$1</a>');
// set replaced content in other div
document.getElementById("replaced").innerHTML = content;基于JSFiddle的演示
发布于 2014-06-24 07:37:35
尝试将第一部分捕获到group1中,然后捕获到group2的下一部分,
^(\/[^\s]*)(.*)演示
发布于 2014-06-24 07:51:27
试试这个例子:
var re = /\/[\w\d]{8,}/;
var string = "this is my string /aZ2scXo35676";
var link = string.match(re)[0]; // will match "/aZ2scXo35676"
var result = string.replace(re, TEMP.replace(/\[AAA\]/g, link[0]))
// result will equal 'this is my string <a href="industus.com/aZ2scXo35676">/aZ2scXo35676</a>'https://stackoverflow.com/questions/24380807
复制相似问题