• 专注于网站建设,网络推广,关键词优化,SEO优化,专业的网站建设开发团队!
首页 > IT技术 > PHP > 内容

PHP常用工具函数

2015-06-22 16:14:17   来源:叶景网络
      叶景网络(www.cngxit.com),致力于互联网品牌建设与网络营销,专业领域包括网站建设、电子商务、移动互联网营销、系统平台开发, 与其他网站建设等。叶景网络为您分享:PHP常用工具函数
/**
 * 整数过滤
 * @param  string $money 要过滤的字符串
 * @return string
 */
function intvalcc($money){
    $str = $money == intval($money) ? intval($money) : $money;
    return $str;
}
 
/**
 * 非常规MD5加密
 * @param  string $str 要加密的字符串
 * @param  string $key 自定义字符串
 * @return string
 */
function my_md5($str,$key='yjwl'){
return $str ? md5(sha1($str) .$key):'';
}
 
/**
 * 字符串打*号,除第一位外
 * @param  string $str 要打*号的字符串
 * @param  string $coding 自定义字集编码 
 * @return string
 */
function mb_str_star($str,$coding="utf-8"){
return mb_substr($str,0,1,$coding).str_repeat('*',$str,mb_strlen($str,$coding)-1);
}
 
/**
 * 用户名字符串格式化
 * @param  string $name 用户名
 * @param  string $subname 格式名称
 * @return string
 */
function format_name($name,$subname='经理'){
return mb_substr($name,0,1,'urf-8').$subname?$subname:'经理';
}
 
/**
 * 手机号打*号格式化
 * @param  string $str 手机号
 * @return string
 */
function format_phone($str){
if(!empty($str)){
return substr($str,0,3).'*****'.substr($str,8,3);
}else{
return false;
}
}
 
/**
 * 手机号正则验证
 * @param  string $str 手机号
 * @return string
 */
function verify_mobile($str){
if(preg_match('/^1[3|4|5|7|8][0-9]{9}$/',$str)){
return true;
}else{
return false;
}
}
 
/**
 * 金额千位格式化
 * @param  string $num 要格式化的金额
 * @param  int $decimals 保留两位小数
 * @return string
 */
function format_money_num($num,$decimals=2){
    return number_format($num, $decimals, '.', ',');
}
 
/**
 * 格式化金额,大写数字
 * @param  string $ns 要格式化的金额
 * @return string
 */
function Fmoney($ns) { 
    static $cnums=array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖"), 
        $cnyunits=array("圆","角","分"), 
        $grees=array("拾","佰","仟","万","拾","佰","仟","亿"); 
    list($ns1,$ns2)=explode(".",$ns,2); 
    $ns2=array_filter(array($ns2[1],$ns2[0])); 
    $ret=array_merge($ns2,array(implode("",_cny_map_unit(str_split($ns1),$grees)),"")); 
    $ret=implode("",array_reverse(_cny_map_unit($ret,$cnyunits))); 
    return str_replace(array_keys($cnums),$cnums,$ret); 
}
 
/**
 * 字符串截取-支持中文
 * @param  string $string 要截取的字符串
 * @param  int $start 开始位置
 * @param  int $end 截取长度
 * @param  string $coding 字符集编码
 * @return string
 */
function my_substr($string,$start=0,$end=100,$coding='utf-8'){
if(!empty($string)){
$string = strip_tags($string);
$star = mb_strlen($string,$coding)>$end?'...':'';
return mb_substr($string,$start,$end,$coding).$star;
}else{
return '';
}
}
 
/**
 * 加密方法
 * @param string $data 要加密的字符串
 * @param string $key 加密密钥
 * @param int $expire 过期时间 (单位:秒)
 * @return string
 */
function my_encrypt($data, $key, $expire = 0) {
    $key = md5($key);
    $data = base64_encode($data);
    $x = 0;
    $len = strlen($data);
    $l = strlen($key);
    $char = '';
    for ($i = 0; $i < $len; $i++) {
        if ($x == $l) $x = 0;
        $char .= substr($key, $x, 1);
        $x++;
    }
    $str = sprintf('%010d', $expire ? $expire + time() : 0);
    for ($i = 0; $i < $len; $i++) {
        $str .= chr(ord(substr($data, $i, 1)) + (ord(substr($char, $i, 1))) % 256);
    }
    return str_replace('=', '', base64_encode($str));
}
 
/**
 * 系统解密方法
 * @param string $data 要解密的字符串 (必须是my_encrypt方法加密的字符串)
 * @param string $key 加密密钥
 * @return string
 */
function my_decrypt($data, $key) {
    $key = md5($key);
    $x = 0;
    $data = base64_decode($data);
    $expire = substr($data, 0, 10);
    $data = substr($data, 10);
    if ($expire > 0 && $expire < time()) {
        return '';
    }
    $len = strlen($data);
    $l = strlen($key);
    $char = $str = '';
    for ($i = 0; $i < $len; $i++) {
        if ($x == $l) $x = 0;
        $char .= substr($key, $x, 1);
        $x++;
    }
    for ($i = 0; $i < $len; $i++) {
        if (ord(substr($data, $i, 1)) < ord(substr($char, $i, 1))) {
            $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1)));
        } else {
            $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1)));
        }
    }
    return base64_decode($str);
}
 
 
/**
 * 时间戳格式化
 * @param string $time 要格式化的时间戳
 * @param string $fotmat 格式
 * @return  string
 */
function time_format($fotmat='Y-m-d H:i:s',$time){
if(!empty($time)){
return date($fotmat,$time);
}else{
return '';
}
}
/**
 * 自定义时间戳格式化
 * @param string $time 要格式化的时间戳
 * @param string $fotmat 格式
 * @return  string
 */
function mydate($format,$time) {
    if($time<10000){
        return '';
    }elseif($format=="ts"){
        if(NOW_TIME-$time<3600){
            return intval((NOW_TIME-$time)/60)==0?'刚刚':intval((NOW_TIME-$time)/60)."分钟前";
        }elseif($time > strtotime("today")){
            return "今天 ".date("H:i", $time);
        }elseif($time < strtotime("today") && NOW_TIME-$time<3600*24){
            return "昨天 ".date("H:i", $time);
        }else{
            return date("m-d H:i", $time);
        }
    }else{
        return date($format, $time);
    }
}
/**
 * 自定义写文件函数
 * @param string $file_name 文件名
 * @param string $param 数据
 * @param string $type 类型
 * @return string
 */
function put_contents($file_name='',$param,$type=0){
    $file_name = $file_name ? $file_name.'.txt' : 'test.txt';
    if($type>0){
        file_put_contents($file_name,print_r($param,true)."\n",FILE_APPEND);
    }else{
        file_put_contents($file_name,print_r($param,true));
    }
}
 
/**
 * 过滤html函数
 * @param string $text HTML内容过滤的文本
 * @param string $parseBr 
 * @param string $nr
 * @return string
 */
function text($text,$parseBr=false,$nr=false){
    $text = htmlspecialchars_decode($text);//html解码,<成为 <
    $text = safe($text,'text');
    if(!$parseBr&&$nr){
        $text   =   str_ireplace(array("\r","\n","\t"," "),'',$text);
        $text   =   htmlspecialchars($text,ENT_QUOTES);
    }elseif(!$nr){
        $text   =   htmlspecialchars($text,ENT_QUOTES);
    }else{
        $text   =   htmlspecialchars($text,ENT_QUOTES);
        $text   =   nl2br($text);
    }
    $text   =   trim($text);
    return $text;
}
 
/**
 * 输出安全html代码
 * @param string $text HTML内容过滤的文本
 * @param string $type 类型 
 * @return string
 */
function safe($text,$type='html'){
    //无标签格式
    $text_tags  =   '';
 
    //只存在字体样式
    $font_tags  =   '

 

 

 

 

 
';
 
    //标题摘要基本格式
    $base_tags  =   $font_tags.'

 



';

    $form_tags  =   $base_tags.'

 

叶景网络,网络推广,网站建设
特别推荐RECOMMEND
搜索引擎网站关键词seo优化的意义
视频推广怎么做
网站seo优化怎么做关键词排上首页?
SEO介绍什么叫搜索引擎网站关键词优化
seo优化怎样做提升关键词排名
热点图文Hot
PHP通过soap调用.net接口asmx文件 PHP通过soap调用.ne
PHP开发环境配置 PHP开发环境配置
wamp集成环境的虚拟域名配置方法 wamp集成环境的虚拟
wamp独立安装配置 wamp独立安装配置
关注排行RANKING
1

PHP通过soap调用.net接口asmx文件

PHP通过soap调用.net接口asmx文件 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网...

2

PHP开发环境配置

PHP开发环境配置 下载PHP安装程序,并解压缩。(下载页面为http: www php net downloads php,下...

3

wamp集成环境的虚拟域名配置方法

wamp集成环境的虚拟域名配置方法 最近,发现身边很多人用wamp集成环境,这个虽然比较快捷,一步到位,但是只能访...

4

wamp独立安装配置

wamp独立安装配置 apache 中的 httpd conf LoadModule php5_module "D: lamp php5 php5apache2_2 dll " 加载模块并开启

5

php 获取今天明天昨天时间戳

php 获取今天明天昨天时间戳 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网...

6

PHP获取服务器信息 MySql版本和浏览器信息

PHP获取服务器信息 MySql版本和浏览器信息 1、$_SESSION[ PHP_SELF ] -- 获取当前正在执行脚本的文件名 2...

7

smarty 截取字符串函数 truncate的用法

smarty 截取字符串函数 truncate的用法 smarty truncate 截取字符串,从字符串开始处截取某长度的字符,默认的长度为8...

8

php编程常用函数方法等

php编程常用函数方法等 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网站...

9

如何让ThinkPHP的模板引擎达到最佳效率

如何让ThinkPHP的模板引擎达到最佳效率 默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎。内置模板引擎支持模板文...