找回密码
 注册账号

QQ登录

只需一步,快速开始

《泰拉瑞亚下载-1.4.2.3版》 泰拉瑞亚服务器 - MOD模组下载

入驻泰拉战网 新手指引 - 升级 - 师徒

泰拉瑞亚合成表 泰拉卡牌 - 泰拉江湖 - 泰拉刺客

联系泰拉开发组👈进入 积分市场 - 房产交易 - 水晶获取

查看: 2766|回复: 0

Discuz checkformulacredits函数 检查积分公式语法

[复制链接]

431

主题

77

回帖

8

广播

论坛版主

积分
214
泰拉
0
水晶
10
铜钥匙
0
银钥匙
0
金钥匙
0

【江湖新秀】【宝剑回鞘】【泰拉达人】【奥运选手】

发表于 2020-10-27 15:44:46 | 显示全部楼层 |阅读模式

  1. //检验积分公式语法

  2. function checkformulacredits($formula) {
  3.         return checkformulasyntax(
  4.                 $formula,
  5.                 array('+', '-', '*', '/', ' '),
  6.                 array('extcredits[1-8]', 'digestposts', 'posts', 'threads', 'oltime', 'friends', 'doings', 'polls', 'blogs', 'albums', 'sharings')
  7.         );
  8. }

  9. function checkformulasyntax($formula, $operators, $tokens) {
  10.         $var = implode('|', $tokens);
  11.         $operator = implode('', $operators);

  12.         $operator = str_replace(
  13.                 array('+', '-', '*', '/', '(', ')', '{', '}', '\''),
  14.                 array('\+', '\-', '\*', '\/', '\(', '\)', '\{', '\}', '\\\''),
  15.                 $operator
  16.         );

  17.         if(!empty($formula)) {
  18.                 if(!preg_match("/^([$operator\.\d\(\)]|(($var)([$operator\(\)]|$)+))+$/", $formula) || !is_null(eval(preg_replace("/($var)/", "\$\\1", $formula).';'))){
  19.                         return false;
  20.                 }
  21.         }
  22.         return true;
  23. }
复制代码
[发帖际遇]: mickeyort 在论坛发帖时没有注意,被小偷偷去了 4 泰拉. 幸运榜 / 衰神榜
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|友链申请|Archiver|手机版|小黑屋|游芯沙盒 ( 陕ICP备11006283号-1 )

GMT+8, 2024-11-21 20:16 , Processed in 0.109995 second(s), 40 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表