首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用链接替换超过8个字符的字符串吗?

用链接替换超过8个字符的字符串吗?
EN

Stack Overflow用户
提问于 2014-06-24 07:31:00
回答 3查看 52关注 0票数 0

如何使用jQuery将以/和超过8个字符(文本字符串结束于第一个空空间)开头的任何文本字符串替换为指向方位角/此处文本字符串的链接?

例如:

/sA9xK4D将转换为<a href="imugr.com/sA9xK4D">/sA9xK4D</a>

/Pq9xV39x a,#xK2F将转换为<a href="imgur.com/Pq9xV39x">/Pq9xV39x</a> a,#xK2F

此代码不起作用;它说未定义不是一个函数。

代码语言:javascript
运行
复制
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) 
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-24 07:42:18

以下几个应该适合你的需要:

代码语言:javascript
运行
复制
(/[a-zA-Z0-9]{8,})(?=\s)

<a href="industus.com$1">$1</a>代替

德布盖克斯实现可视化

基于RegExr的演示

如何在JavaScript中使用它(示例):

代码语言: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的演示

票数 1
EN

Stack Overflow用户

发布于 2014-06-24 07:37:35

尝试将第一部分捕获到group1中,然后捕获到group2的下一部分,

代码语言:javascript
运行
复制
^(\/[^\s]*)(.*)

演示

票数 1
EN

Stack Overflow用户

发布于 2014-06-24 07:51:27

试试这个例子:

代码语言:javascript
运行
复制
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>'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24380807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档