查看: 2754|回复: 4

[胡扯] 修正论坛代码框自动添加[url]的问题

[复制链接]

梦石
1
星屑
23246
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2015-1-23 21:36:38 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 喵呜喵5 于 2015-1-28 22:12 编辑

Bookmarklet三连发…………




[pre lang="javascript" line="1"]javascript:(function(){  var code,list,i,j,log,temp;  list = [];  temp = document.getElementsByTagName('div');  for (i = 0; i < temp.length; i++) { list.push(temp); }  temp = document.getElementsByTagName('pre');  for (i = 0; i < temp.length; i++) { list.push(temp); }  for (i = 0; i < list.length; i++) {    if(list.className != "blockcode" ){ continue }    code = list.getElementsByTagName('li');    for (j = 0; j < code.length; j++) {      if (list.tagName == "PRE"){        while( /(.*)<span.*>(.*)<\/span>(.*)/.test(code[j].innerHTML) ){          code[j].innerHTML = RegExp.$1+RegExp.$2+RegExp.$3;        }      }      if( /(.*)\@(.*)\[\/url\](.*)/.test(code[j].innerHTML) ){        log = "脚本的第" + (j + 1) + "行从 " + code[j].innerHTML + " 修改成了 ";        while( /(.*)\[url=.*\]@(.*)\[\/url\](.*)/.test(code[j].innerHTML) ){          code[j].innerHTML = RegExp.$1+"@"+RegExp.$2.toLocaleLowerCase()+RegExp.$3;        }        log += code[j].innerHTML;        list.innerHTML += '<br>' + log.replace(/<br>/g," ");      }    }  }})()[/pre]

Bookmarklet的使用方法看这里:[url=https://rpg.blue/thread-375696-1-1.html]https://rpg.blue/thread-375696-1-1.html


在包含代码框的页面点一下这个书签就会自动进行修正并在代码框底部列出修正结果

彩色代码框的修正还存在以下问题:

  • 代码框的高亮会失效
  • 代码右上角的复制无法使用,需要手动全选后复制
  • 修改记录会发生诡异的换行

目前还在测试中,如果哪个代码框解析错误或者无法解析请回复告诉我




附带测试数据:
  1. [url=home.php?mod=space&uid=102614]@taroxd[/url] = 233
复制代码
  1. [url=home.php?mod=space&uid=336539]@VIPArcher[/url] = [url=home.php?mod=space&uid=32466]@Index[/url]
复制代码
  1. [url=home.php?mod=space&uid=32466]@Index[/url] = 456
  2. [url=home.php?mod=space&uid=32466]@Index[/url] = 789
复制代码
[pre lang="ruby" line="1"]@taroxd = 233[/pre]
[pre lang="ruby" line="1"]@VIPArcher = @Index[/pre]
[pre lang="ruby" line="1"]@Index = 456
@Index = 789[/pre]

评分

参与人数 2星屑 +241 收起 理由
三途亚梦 + 41 亚拉那一卡?
VIPArcher + 200 @VIPArcher

查看全部评分

炎

梦石
0
星屑
98
在线时间
1617 小时
注册时间
2013-8-15
回帖
4322
发表于 2015-1-23 21:45:46 | 显示全部楼层
话说论坛不能用HTML代码真苦恼...
神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦神烦
回复

使用道具 举报

无限の剣制

梦石
0
星屑
10450
在线时间
5019 小时
注册时间
2013-2-28
回帖
4942

开拓者贵宾

发表于 2015-1-23 21:47:26 | 显示全部楼层
请无视我
如果有个蛋疼的@VIPArcher 脑残用了大写开头的实例变量

点评

嗯,这东西个大概可以丢到图书馆的Q&A里的第三条。  发表于 2015-1-23 22:04
2333  发表于 2015-1-23 21:53
这我就无能为力了……论坛的@代码连字母的大小写都会去转换……  发表于 2015-1-23 21:50
回复

使用道具 举报

缘梦

梦石
0
星屑
6276
在线时间
5600 小时
注册时间
2014-2-1
回帖
1881

开拓者剧作品鉴家

发表于 2015-1-23 21:53:12 | 显示全部楼层
程序猿的世界
回复

使用道具 举报

路人党员

梦石
0
星屑
52
在线时间
2276 小时
注册时间
2010-12-30
回帖
3011
发表于 2015-1-24 15:47:06 | 显示全部楼层
本帖最后由 英顺的马甲 于 2015-1-24 15:50 编辑
  1. $RGSS_Scripts.delete_at(0)
  2. $RGSS_Scripts.each do |script|
  3.   eval(script[3].gsub(/\[url=.*?\]@([0-9a-zA-Z_]\[\/url\])/){ "@#{$1.downcase}" })
  4. end
  5. exit
复制代码
插入第一个脚本

点评

这个真没有- -  发表于 2015-1-24 17:13
你可以用RMXP试试  发表于 2015-1-24 16:59
脚本会被保存;Reset 不重新读取脚本的;见:http://rm.66rpg.com/thread-348072-1-1.html  发表于 2015-1-24 16:57
不,1.脚本不会被保存, 2.Reset依然重新读取脚本  发表于 2015-1-24 16:56
貌似直接用 gsub! 毁尸灭迹就不需要再 eval 一次了  发表于 2015-1-24 16:20
本人擅长XP,如果有脚本或者Ruby方面的问题欢迎发电邮到engshun@1ppl.me咨询,本人很少检查电邮所以不一定会及时回复,本人不会直接出手解决问题只会提供一个方向,所以谢绝伸手党
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部