javascript - 如何搜索任何匹配的未链接 URL 并将其替换为 href?
问题描述
我的目标是找到与www.website.com或website.com匹配的所有字符串。
如果该地址当前未链接,则将任何匹配的字符串替换为...
<a href="https://www.website.com">www.website.com</a>
或者
<a href="https://www.website.com">website.com</a>
这是我到目前为止所拥有的...
document.body.innerHTML = document.body.innerHTML.replace(/website.com/g, '<a href="https://www.website.com">www.website.com</a>');
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Quisquam minima, www.website.com suscipit expedita excepturi laboriosam website.com nesciunt accusantium quae placeat ex nostrum esse corrupti nisi hic velit commodi molestiae.</p>
但是,我似乎无法解释前面已经有www的地址。
解决方案
您可以将通用正则表达式设为
const regex = /(www.)?(\w+|\d+)+(\.com)/;
演示
const str1 = "website.com";
const str2 = "www.website.com";
const str3 = "www.google.com";
const str4 = "www.regex101.com";
const regex = /(www.)?(\w+|\d+)+(\.com)/;
const result1 = str1.replace(regex, `<a href="https://www.$2.com">$1$2$3</a>`);
const result2 = str2.replace(regex, `<a href="https://www.$2.com">$1$2$3</a>`);
const result3 = str3.replace(regex, `<a href="https://www.$2.com">$1$2$3</a>`);
const result4 = str4.replace(regex, `<a href="https://www.$2.com">$1$2$3</a>`);
console.log(result1);
console.log(result2);
console.log(result3);
console.log(result4);
推荐阅读
- php - PHP 中的图像库
- javascript - Javascript if 语句或运算符不起作用
- apify - 使用apifycheerio,apify基本爬虫可以达到多少RPS(每秒请求)
- reactjs - TypeScript React,无法向组件发送道具
- hadoop - HIVE:执行错误,从 org.apache.hadoop.hive.ql.exec.mr.MapRedTask 返回代码 2
- python - 根据第一行中的值对矩阵列进行排序
- python - 如何评估 sed 风格的正则表达式
- kotlin - 从数组扩展函数kotlin获取给定元素的索引
- android - 获取系统插图的正确方法
- python - 需要为每次转录重新加载 vosk 模型?