PHP 常用自定义方法函数汇总
20170310 : 第一版,微信,阿里判断,utf-8 解决中文截取乱码问题
/** * @desc 判断是否是 微信 浏览器 * @return bool */ public static function isWxBrowser() { if (!empty($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) { return true; } return false; }
/** * @desc 判断是否是 支付宝钱包 浏览器 * @return bool */ public static function isAliBrowser() { if (!empty($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'AliApp') !== false) { return true; } return false; }
/** * @desc utf-8 解决中文截取乱码问题 * @param type $str 指字符串 * @param type $start 指字符串的起始位置 * @param type $len 指字符串长度 * @return type */ public static function chineseSubstr($str, $start, $len) { $tmpstr = ''; $strlen = $start + $len; // 用$strlen存储字符串的总长度,即从字符串的起始位置到字符串的总长度 for ($i = $start; $i < $strlen;) { if (ord(substr($str, $i, 1)) > 0xa0) { // 如果字符串中首个字节的ASCII序数值大于0xa0,则表示汉字 $tmpstr .= substr($str, $i, 3); // 每次取出三位字符赋给变量$tmpstr,即等于一个汉字 $i = $i + 3; // 变量自加3 } else { $tmpstr .= substr($str, $i, 1); // 如果不是汉字,则每次取出一位字符赋给变量$tmpstr $i++; } } return $tmpstr; // 返回字符串 }