silentPasser 发表于 2021-9-29 11:43

js实现将网页中的网址转换成链接

本帖最后由 silentPasser 于 2021-10-8 09:57 编辑

## 想要完成的功能
**将网页中的网址文字转换成链接**

## 已实现的代码
```js
window.onload = function () {
    let res = new RegExp('https?://.*(|html|htm|php|jsp)', 'g');

    // 根据选择器获取标签
    body = document.querySelector('body');
    for (const re of res) {
      let urls = body.innerText.match(re);
      if (urls) {
            for (let url of urls) {
                console.log(url);
                body.innerHTML = body.innerHTML.replace(url, `<a href=${url} target="_blank">${url}</a>`);
            }
      }

    }
}

```

## 问题:匹配网页中的网址的正则表达式要怎么写?

泽樟 发表于 2021-9-29 15:33

(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?

hanson1025 发表于 2021-9-29 15:34

"+://[^\s]*" 我大多数情况下都是用这个匹配网址

Y-one 发表于 2021-9-29 15:55

看到你这代码我很 害怕,因为我站被黑的时候和这个很像,好熟悉的感觉

先有我后有天 发表于 2021-9-29 17:09

直接写个油猴脚本多好
页: [1]
查看完整版本: js实现将网页中的网址转换成链接