全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 760|回复: 15

loc 超链接 补正 JS脚本

[复制链接]
发表于 2022-4-6 15:56:27 | 显示全部楼层 |阅读模式
本帖最后由 Faxlok 于 2022-4-6 18:00 编辑

添加超链接的同时,能够清除斯巴达、搬瓦工、vir、hetzner、dmit、绿云、RN、kurun的aff(常见的商家的aff都能清除)。不会清除用户的签名的aff链接
小瑕疵:部分超链接后面会<,但不影响链接可用性和文字理解,所以不打算纠正

  1. var content = document.querySelectorAll(".pcb");
  2.        const regex = new RegExp('(?<!font size="2"><a href=")((?<!src="|href=")https?:\/\/.*?)(<|&nbsp;)', 'gm');

  3.        for (var i = 0; i < content.length; i++)
  4.        {
  5.            //console.log(content[i].innerHTML);
  6.            //console.log(regex.test(content[i].innerHTML));

  7.            // 转换为超链接
  8.            if (regex.test(content[i].innerHTML))
  9.            {
  10.              content[i].innerHTML = content[i].innerHTML.replace(regex,'<a href="$1" target="_blank">$1</a><');
  11.            }
  12.            // 去掉aff
  13.            content[i].innerHTML = content[i].innerHTML.replace(/aff\.php/gm,'cart.php').replace(/aff=\d+/gm,'a=add').replace(/\/aff\/\w*|ref=\w+/gm,'');
  14.        }
复制代码

完整代码:match要写上,单单上面那行代码执行不了
  1. // ==UserScript==
  2. // @name         loc添加超链接
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.3
  5. // @description  添加超链接的同时,能够清除斯巴达、搬瓦工、vir、hetzner、dmit、绿云、RN的aff
  6. // @author       Faxlok
  7. // @match        https://hostloc.com/thread-*.html
  8. // @match        https://hostloc.com/forum.php?mod=viewthread&tid=*&highlight=*
  9. // @match        https://hostloc.com/forum.php?mod=viewthread&tid=*&page=*
  10. // @icon         https://www.google.com/s2/favicons?domain=hostloc.com
  11. // @grant        none
  12. // ==/UserScript==

  13. (function() {
  14.     'use strict';
  15. // https://regex101.com/r/sZaYtI/1
  16.        var content = document.querySelectorAll(".pcb");
  17.        const regex = new RegExp('(?<!font size="2"><a href=")((?<!src="|href=")https?:\/\/.*?)(<|&nbsp;)', 'gm');

  18.        for (var i = 0; i < content.length; i++)
  19.        {
  20.            //console.log(content[i].innerHTML);
  21.            //console.log(regex.test(content[i].innerHTML));

  22.            // 转换为超链接
  23.            if (regex.test(content[i].innerHTML))
  24.            {
  25.              content[i].innerHTML = content[i].innerHTML.replace(regex,'<a href="$1" target="_blank">$1</a><');
  26.            }
  27.            // 去掉aff
  28.            content[i].innerHTML = content[i].innerHTML.replace(/aff\.php/gm,'cart.php').replace(/aff=\d+/gm,'a=add').replace(/\/aff\/\w*|ref=\w+/gm,'');
  29.        }
  30. })();
复制代码

greasy fork的链接:https://greasyfork.org/zh-CN/scripts/442843-loc%E6%B7%BB%E5%8A%A0%E8%B6%85%E9%93%BE%E6%8E%A5
发表于 2022-4-6 15:58:04 | 显示全部楼层
是能够自动去除AFFMAN的aff还是啥?还是自动帮AFFMAN添加AFF?没看明白啥意思
发表于 2022-4-6 15:59:11 来自手机 | 显示全部楼层
好东西,支持一波
 楼主| 发表于 2022-4-6 16:09:11 | 显示全部楼层
木易酱 发表于 2022-4-6 15:58
是能够自动去除AFFMAN的aff还是啥?还是自动帮AFFMAN添加AFF?没看明白啥意思

去掉
发表于 2022-4-6 16:12:02 | 显示全部楼层
感谢,这就用到Surge 上去。
发表于 2022-4-6 16:13:12 | 显示全部楼层
支持技术大佬。
发表于 2022-4-6 16:17:04 | 显示全部楼层

试了下,挺好用,哈哈,感谢大佬
发表于 2022-4-6 16:47:50 | 显示全部楼层
我要把别人的aff 都换成我的  能不能行
入侵一下论坛  
发表于 2022-4-6 17:49:06 | 显示全部楼层
但是那些用缩短URL的过滤不了。
发表于 2022-4-6 17:54:29 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-25 16:58 , Processed in 0.077486 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表