影视网页标题清理

从疑似影视网页的标题中提取片名与集数重新显示

  1. // ==UserScript==
  2. // @name 影视网页标题清理
  3. // @version 12
  4. // @description 从疑似影视网页的标题中提取片名与集数重新显示
  5. // @author Lemon399
  6. // @match *://*/*
  7. // @run-at document-start
  8. // @grant none
  9. // @namespace https://greasyfork.org/users/452911
  10. // ==/UserScript==
  11.  
  12. (() => {
  13. function matcher(title) {
  14. let result = "",
  15. ji = NaN,
  16. temp = title;
  17. /* 匹配 [数字]集 */
  18. const ji1 = title.match(/(\d+)集/);
  19. /* 如果存在 */
  20. if (ji1) {
  21. /* 取 [数字] 为集数 */
  22. ji = ji1[1];
  23. /* 删除 [数字]集 以及后面所有内容 */
  24. temp = title.split(ji + "集")[0];
  25. /* 如果末尾是 第,删除 第 */
  26. if (temp.match(/第$/)) {
  27. temp = temp.replace(/第$/, "");
  28. }
  29. }
  30. /* 如果上面没有得到集数,匹配 》[空格][数字] 为集数 */
  31. const ji2 = title.match(/》\s*(\d+)/);
  32. if (!ji && ji2) ji = ji2[1];
  33. /* 删除 《 以及前面内容 和 》以及后面内容,清理多余空格 */
  34. temp = temp.replace(/^.*《/, "").replace(/》.*$/, "").trim();
  35. result = temp + (ji ? " " + ji.padStart(2, "0") : "");
  36. return result ? result : title;
  37. }
  38. document.title = matcher(document.title);
  39. })();