查看: 2648|回复: 6

[解决] 关于代码框内 @ 被解析的问题

[复制链接]

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-1-26 20:52:00 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 taroxd 于 2015-1-31 08:23 编辑

@小传子

注意,fuck_code 只修改了 code 代码框的内容,而没有考虑 pre 代码框。请小传子加上 pre 代码框的处理。

在 source/class/extend/extend_thread_allowat.php 中:

在每个
  1. foreach($this->atlist as $atuid => $atusername) {
复制代码
前面调用
  1. $this->fuck_code($parameters);
复制代码
在每个
  1. $this->param['message'] = substr($this->param['message'], 0, strlen($this->param['message']) - 1);
复制代码
后面调用
  1. $this->fuck_code_again();
复制代码
两个函数的定义如下:

  1.     public function fuck_code(&$param) {
  2.         $param['message'] = preg_replace_callback(
  3.             '/(\[code\][\s\S]+?\[\/code\])/i',
  4.             function ($matches) {
  5.                 return str_replace('@', 'The string serves as "at"', $matches[0]);
  6.             },
  7.             $param['message']
  8.         );
  9.     }

  10.     public function fuck_code_again() {
  11.         $this->param['message'] = str_replace('The string serves as "at"', '@', $this->param['message']);
  12.     }
复制代码

点评

所以说你又卖萌了,口口声声说不会C,其实你比别人懂的都多  发表于 2015-2-1 10:54
看过一点点,但是不多吧  发表于 2015-2-1 10:47
那些ruby的C源码都看过了吗?  发表于 2015-2-1 10:31
没有啊。lambda 这东西挺常用的  发表于 2015-2-1 10:29
帅气~你是不是把Ruby的文档都研究透了  发表于 2015-2-1 10:25

评分

参与人数 1星屑 +1 收起 理由
龙和许也 + 1 塞糖糖~

查看全部评分

八宝粥的基叔

梦石
0
星屑
4957
在线时间
5234 小时
注册时间
2009-4-29
回帖
14054

贵宾

发表于 2015-1-26 22:16:46 | 显示全部楼层
本帖最后由 怪蜀黍 于 2015-1-26 22:18 编辑

能不能
$atreplace[] = 在代码框内 ?  "@{$atusername} "  : "[ur l=home.php?mod=space&uid=$atuid]@{$atusername}[/url]"
无视吾吾不懂这许多。

点评

吾不懂这许多。  发表于 2015-1-30 14:42
我的想法就在上面,不过不知道为什么没法实现  发表于 2015-1-30 07:46
如何判断在代码框内?  发表于 2015-1-30 07:45
《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

 楼主| 发表于 2015-1-30 08:29:00 | 显示全部楼层
另外,那个简单粗暴的修改方式有点问题,没有考虑到 $atusername 可以是大写。反正我也不推荐那个方法,就不改原帖了

希望传子尽快改好吧
回复

使用道具 举报

无限の剣制

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

开拓者贵宾

发表于 2015-1-30 10:16:58 | 显示全部楼层
诶,我的想法是能不能在发帖的侧边栏加一个禁止解析@ 链接 的复选框呢?(类似于现在的禁止链接识别的那个那样子。

点评

对。1L那段代码不知道为什么不工作,有空我会研究一下  发表于 2015-1-30 14:46
嗷呜,其实吾们希望的是在代码框内不解析,之外的话有时还是希望可以@到人的喵~既要发代码,又要@人喵~  发表于 2015-1-30 14:44
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

 楼主| 发表于 2015-1-30 17:20:48 | 显示全部楼层
本帖最后由 taroxd 于 2015-1-30 20:43 编辑

@小传子
已经实现。希望帮忙检查bug:如果没有的话,请使用吧。
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2015-1-30 21:03:32 | 显示全部楼层
0.0我是怎么被@到的···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
9557
在线时间
5074 小时
注册时间
2013-6-21
回帖
3459

开拓者贵宾剧作品鉴家

发表于 2015-11-13 23:47:16 | 显示全部楼层
下面pre lang的错误能不能修正下呢?
[pre lang="Ruby"]@left_picture.y = 464-@left_picture.bitmap.height[/pre]
  1. @left_picture.y = 464-@left_picture.bitmap.height
复制代码

点评

手动选择右侧的「禁用链接识别」即可  发表于 2015-11-14 07:25
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部