$code,
'msg' => $msg
);
if($json)
return json_encode_cn($r);
else
return $r;
}
/**
* 退出并输出json格式的响应
*/
function die_json($msg, $code = -1) {
die(action_msg($msg, $code));
}
/**
* safeCheck() 参数检查,并防XSS 和 SQL注入
*
* @param mixed $str
* @param bool $number 是否做数字检查 1-(默认)数字 0-不是数字
* @param bool $script 是否过滤script 1-(默认)过滤;0-不过滤
* @return
*/
function safeCheck($str, $number = 1, $script = 1){
return _safeCheck1($str, $number, $script, 0);
}
/**
* safeCheck1() 功能同safeCheck(),唯一区别是在检查不通过时返回json格式的响应
*
* @param mixed $str
* @param bool $number 是否做数字检查 1-(默认)数字 0-不是数字
* @param bool $script 是否过滤script 1-(默认)过滤;0-不过滤
* @return
*/
function safeCheck1($str, $number = 1, $script = 1){
return _safeCheck1($str, $number, $script, 1);
}
/**
* 勿直接调用,谢谢!
*/
function _safeCheck1($str, $number = 1, $script = 1, $json = 1){
$str = trim($str);
//防止SQL注入
if(!get_magic_quotes_gpc()){
$str = addslashes($str);
}
//数字检查
if($number == 1){
$isint = preg_match('/^-?\d+$/',$str);
$isfloat = preg_match('/^(-?\d+)(\.\d+)?$/',$str);
if(!$isint && !$isfloat){
if ($json == 1) {
die_json('参数值'.$str.'必须为数字');
} else {
die('参数值'.$str.'必须为数字');
}
}
}else{
//过滤script、防XSS
if($script == 1){
$str = htmlspecialchars($str);
}
}
return $str;
}
/**
* ckReplace() ckEditor编辑器内容处理
*
* @param mixed $content
* @return
*/
function ckReplace($content){
if (!empty($content)){
$content = str_replace("'", "'", $content);
$content = str_replace("
", "
", $content);
}
return $content;
}
/**
* HTMLEncode()将特殊字符转成HTML格式,主要用于textarea获取值
*
* @param mixed $str
* @return
*/
function HTMLEncode($str){
if (!empty($str)){
$str = str_replace("&","&",$str);
$str = str_replace(">",">",$str);
$str = str_replace("<","<",$str);
$str = str_replace(CHR(32)," ",$str);
$str = str_replace(CHR(9)," ",$str);
$str = str_replace(CHR(9)," ",$str);
$str = str_replace(CHR(34),""",$str);
$str = str_replace("'","'",$str);
$str = str_replace(CHR(39),"'",$str);
$str = str_replace(CHR(13),"",$str);
$str = str_replace(CHR(10),"
",$str);
}
return $str;
}
/**
* HTMLDecode()将HTMLEncode的数据还原
*
* @param mixed $str
* @return
*/
Function HTMLDecode($str){
if (!empty($str)){
$str = str_replace("&","&",$str);
$str = str_replace(">",">",$str);
$str = str_replace("<","<",$str);
$str = str_replace(" ",CHR(32),$str);
$str = str_replace(" ",CHR(9),$str);
$str = str_replace(" ",CHR(9),$str);
$str = str_replace(""",CHR(34),$str);
$str = str_replace("'",CHR(39),$str);
$str = str_replace("",CHR(13),$str);
$str = str_replace("
",CHR(10),$str);
$str = str_replace("
",CHR(10),$str);
$str = str_replace("
",CHR(10),$str);
}
return $str;
}
/**
* 生成随机数randcode()
*
* @param mixed $len
* @param integer $mode
* @return
*/
function randcode($len, $mode = 2){
$rcode = '';
switch($mode){
case 1: //去除0、o、O、l等易混淆字符
$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789abcdefghijkmnpqrstuvwxyz';
break;
case 2: //纯数字
$chars = '0123456789';
break;
case 3: //全数字+大小写字母
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
break;
case 4: //全数字+大小写字母+一些特殊字符
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz~!@#$%^&*()';
break;
}
$count = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i < $len; $i++) {
$rcode .= $chars[mt_rand(0, $count)];
}
return $rcode;
}
/**
* Json_encode的Unicode中文(\u4e2d\u56fd)问题
*
* @param mixed $array
* @return
*/
function json_encode_cn($array){
$str = json_encode($array);
$os = Env::getOSType();
if($os == 'windows')
$ucs = 'UCS-2';
else
$ucs = 'UCS-2BE';
if (version_compare(PHP_VERSION, '5.5.0') >= 0) {
$str = preg_replace_callback("/\\\\u([0-9a-f]{4})/i", function($matches) use($ucs){return iconv($ucs, "UTF-8", pack("H*", $matches[1]));}, $str);
/** //2018/12/23 修正PHP7.2以上版本不支持create_function
}else if (version_compare(PHP_VERSION, '5.5.0') >= 0) {
$str = preg_replace_callback("/\\\\u([0-9a-f]{4})/i", create_function('$matches', 'return iconv("'.$ucs.'", "UTF-8", pack("H*", $matches[1]));'), $str);
**/
}else{
$str = preg_replace("#\\\u([0-9a-f]{4})#ie", "iconv('".$ucs."', 'UTF-8', pack('H4', '\\1'))", $str);
}
return $str;
}
/**
* 检测图片宽高是否符合要求,常用于图片上传
* @param $filepath 文件绝对路径
* @param $targetWidth 目标宽度
* @param $targetHeight 目标高度
* @return bool
*/
function checkImgSize($filepath, $targetWidth, $targetHeight) {
$imageinfo = getimagesize($filepath);
if ($imageinfo[0] != $targetWidth || $imageinfo[1] != $targetHeight) {
return false;
}
return true;
}
function subStrContent($content,$len,$dian=0)
{
if(mb_strlen($content,"UTF-8")>$len)
{
$content = mb_substr($content,0,$len,"utf-8");
if($dian)
{
$content .="...";
}
}
return $content;
}
/**
* getDateStrS() 时间格式转换
*/
function getDateStrS($time){
if(empty($time)) return "";
$todayBegin = strtotime(date("Y-m-d"));
$diff = $time - $todayBegin;
if($diff>=0)
return date('H:i', $time);
else if($diff<0&&$diff>-86400)
return '昨天';
else
return date('Y/m/d H:i:s', $time);
}
/**
* getDateStr() 时间格式转换
*/
function getDateStr($time){
if($time)
return date('Y-m-d H:i:s', $time);
else
return '';
}
/**
* getDateStrI() 时间格式转换
*/
function getDateStrI($time){
if($time)
return date('Y-m-d H:i', $time);
else
return '';
}
/**
* getDateStrI() 时间格式转换
*/
function getDateStrC($time){
if($time)
return date('Y-m-d', $time);
else
return '';
}
function wordCode($parameter){
$arr = explode('
',$parameter);
if(!is_array($arr)){
$arr = explode('
',$parameter);
}
$str='';
foreach($arr as $val){
//这里是先去掉空格等一般样式
$val = HTMLDecode($val);
$val = str_replace("<", "<", $val);
$val = str_replace(">", ">", $val);
$str.= '