链接识别

链接识别

javaScript识别网址文本并转为链接文本

在网上搜了资料,http://t.csdnimg.cn/239bK

按照这个确实可以把文本中的url识别并转换。但是该怎么输出呢?

我在method中加入函数urlToLink(str):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
urlToLink(str) {
if (!str) {
return '';
}
let link = str;
const urlPattern = /(https?:\/\/|www\.)[a-zA-Z_0-9\-@]+(\.\w[a-zA-Z_0-9\-:]+)+(\/[()~#&\-=?+%/.\w]+)?/g;
link = str.replace(urlPattern, (match) => {
let href = match;
if (match.indexOf('http') === -1) {
href = `http://${match}`;
}
return `<a target="_blank" href="${href}">${match}</a>`;
});
return link;
},

一开始我用text的方式显示出来发现是文本,后来搜了一下才知道应该改为用v-html的方式,现在可以显示了。

1
<b-card-text class="pre" v-html="urlToLink(post.content)"></b-card-text>

不过这也让文本从plain text变成html,所以用户输入的html格式文本也会导致可以识别并直接渲染出来。image-20231110122450184

链接显示试验特性

SSE_MARKET今日悄悄部署上线链接识别与显示的功能(现在只能识别帖子正文)。

由于这一特性的实现,加之一系列偷懒

giphy

目前帖子正文现在会直接识别并渲染html格式的文本!!!

撤回

后来有同学提醒我最好在本地经过测试再投入生产环境,想了一下确实在理。

现在我还是专心写文档吧,就不写新功能,甚至先不修bug了。

后续

2024年9月28日
在新成员的加持下,现在已经实现了安全的md显示和链接识别。


链接识别
http://thinkerhui.site/2023/11/10/软工集市/链接识别/
作者
thinkerhui
发布于
2023年11月10日
许可协议