CSDN 一键替换

CSDN 能有一个自动替换文章中`英文单词`与`数字`为红的标识的功能,用于美化博客

Versione datata 23/08/2022. Vedi la nuova versione l'ultima versione.

// ==UserScript==
// @name         CSDN 一键替换
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  CSDN 能有一个自动替换文章中`英文单词`与`数字`为红的标识的功能,用于美化博客
// @author       QQ858715831
// @match        https://editor.csdn.net/md/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=csdn.net
// @grant        none
// @license      MIT 
// ==/UserScript==

  (function () {
    'use strict';

    // Your code here...


    setTimeout(() => {
      console.log("我是卷心菜yst");
      let buttonList = document.querySelector(".article-bar__user-box");
      if (buttonList != null) {
        //向页面加入一键替换按钮
        let b = document.createElement("span");
        b.innerHTML =
          `<button class="yst" style="padding: 0 16px;font-size: 16px;height:36px;color: #fff;border: none;border-radius: 18px;white-space: nowrap;background: #fc5531;">一键替换</button>`;
        buttonList.appendChild(b);
        let byst = document.querySelector(".yst");
        //给按钮绑定替换事件
        byst.addEventListener('click', function (event) {
          let editor = document.querySelector(".editor");
          let p = editor.querySelectorAll(".cledit-section>.token.p");
          for (const iterator of p) {
            iterator.innerHTML = iterator.innerHTML.replace(
              /([A-Za-z0-9_$]*[A-Za-z0-9\s=_$\+\-\*/=@&!@#$%^&||*/(/):.\'\"]+)/g,
              function rep(str) {
                if (['-', '+','=', '/', ''].includes(str.trim())) {
                  return str;
                }
                return ' `' + `${str}` + '` ';
              });
          }
          let p2 = editor.querySelectorAll(".blockquote>.token.p");
          for (const iterator of p2) {
            iterator.innerHTML = iterator.innerHTML.replace(
              /([A-Za-z0-9_$]*[A-Za-z0-9\s=_$\+\-\*/=@&!@#$%^&||*/(/):.\'\"]+)/g,
              function rep(str) {
                if (['-', '+','=', '/', ''].includes(str.trim())) {
                  return str;
                }
                return ' `' + `${str}` + '` ';
              });
          }
        })
      } else {
        console.log("没有找到dom里的编辑器")
      }
    }, 2000);
  })();