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; // 返回字符串
}