// ==UserScript==
// @name 福利吧百家姓磁力链接自动转换
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 自动替换百家姓内容并高亮显示
// @author silviode
// @match https://fuliba2023.net/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=fuliba2023.net
// @license MIT
// @grant none
// ==/UserScript==
(function() {
var t = 'magnet:?xt=urn:btih:';
var obja = {
"赵": "0", "钱": "1", "孙": "2", "李": "3", "周": "4", "吴": "5", "郑": "6", "王": "7", "冯": "8", "陈": "9",
"褚": "a", "卫": "b", "蒋": "c", "沈": "d", "韩": "e", "杨": "f", "朱": "g", "秦": "h", "尤": "i", "许": "j",
"何": "k", "吕": "l", "施": "m", "张": "n", "孔": "o", "曹": "p", "严": "q", "华": "r", "金": "s", "魏": "t",
"陶": "u", "姜": "v", "戚": "w", "谢": "x", "邹": "y", "喻": "z", "福": "A", "水": "B", "窦": "C", "章": "D",
"云": "E", "苏": "F", "潘": "G", "葛": "H", "奚": "I", "范": "J", "彭": "K", "郎": "L", "鲁": "M", "韦": "N",
"昌": "O", "马": "P", "苗": "Q", "凤": "R", "花": "S", "方": "T", "俞": "U", "任": "V", "袁": "W", "柳": "X",
"唐": "Y", "罗": "Z", "薛": ".", "伍": "-", "余": "_", "米": "+", "贝": "=", "姚": "/", "孟": "?", "顾": "#",
"尹": "%", "江": "&", "钟": "*"
};
var cnPattern = /[赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻福水窦章云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳唐罗薛伍余米贝姚孟顾尹江钟]{40}/
var pp = document.getElementsByTagName('p')
var ptext = []
for (var i = 0; i < pp.length; i++) {
ptext.push(pp[i].innerText)
}
for (var i = 0; i < ptext.length; i++) {
var ss = ptext[i]
if (cnPattern.test(ss)) {
var mag = bjx2mag(ss)
replaceHtml(i, mag)
console.log(i, ss, mag)
}
}
function bjx2mag(bjx) {
var str = bjx;
str = str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
var strc = str.split("");
var c = '';
for (var i = 0; i < strc.length; i++) {
var o = cy(obja, strc[i]);
c += o;
}
c = t + c;
return c
} //百家姓变成磁力链接
function replaceHtml(index, text) {
pp[index].innerText = text
pp[index].style.color=("red")
}
function cy(array, val) {
for (var key in array) {
if (key == val) {
return array[key];
}
}
return '';
}
function ay(array, val) {
for (var key in array) {
if (array[key] == val) {
return key;
}
}
return '';
}
'use strict';
// Your code here...
})();