栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用JavaScript检测文本中的URL

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用JavaScript检测文本中的URL

首先,您需要一个与网址匹配的优质正则表达式。这很难做到。

…几乎所有内容都是有效的网址。有一些标点符号规则将其拆分。没有标点符号,您仍然有一个有效的URL。

仔细检查RFC,看看是否可以构造“无效” URL。规则非常灵活。

例如

:::::
,一个有效的URL。路径是
":::::"
。漂亮的文件名,但是有效的文件名。

此外,

/////
也是有效的网址。netloc(“主机名”)为
""
。路径是
"///"
。再次,愚蠢。也有效。此URL规范化为
"///"

等效的URL 。

类似的东西

"bad://///worse/////"
是完全有效的。哑巴但有效。

无论如何,这个答案并不意味着为您提供最佳的正则表达式,而是证明如何使用Javascript进行文本内的字符串包装。

好的,所以让我们使用这个:

/(https?://[^s]+)/g

同样, 这是一个不好的正则表达式 。它将有许多误报。但是,对于此示例来说已经足够了。

function urlify(text) {    var urlRegex = /(https?://[^s]+)/g;    return text.replace(urlRegex, function(url) {        return '<a href="' + url + '">' + url + '</a>';    })    // or alternatively    // return text.replace(urlRegex, '<a href="$1">$1</a>')}var text = "Find me at http://www.example.com and also at http://stackoverflow.com";var html = urlify(text);// html now looks like:// "Find me at <a href="http://www.example.com">http://www.example.com</a> and also at <a href="http://stackoverflow.com">http://stackoverflow.com</a>"

因此总而言之,请尝试:

$$('#pad dl dd').each(function(element) {    element.innerHTML = urlify(element.innerHTML);});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442147.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号