常用的common function库

window.location="' . $url . '";');
    } else {
        echo('');
    }
}
 
/**
 * 清除缓存,ECHO,然后DIE(可恶的javascript+php……纯文本输出,总会有一些空字符……)
 * @param string $msg
 */
function justSay($msg) {
    ob_clean();
    die($msg);
}
 
/**
 * 将符合第二个参数的第一个参数里的内容替换为红色
 * @param string $data
 * @param array $keyword
 * @return string
 */
function change_keyword($data, $keywords) {
    if (is_array($keywords)) {
        foreach ($keywords as $k => $v) {
            $data = str_replace($v, '' . $v . '', $data);
        }
        return $data;
    } else {
        return str_replace($keywords, '' . $keywords . '', $data);
    }
}
 
/**
 * 创建完全随机的颜色
 * @return string
 */
function makeColor() {
    $key = '#';
    for ($i = 0; $i < 6; $i++)
        $key.= rand(0, 9);//生成php随机数
    return $key;
}
 
/**
 * 自动加载模型和第三方功能类
 * @param string $className
 */
function autoLoad($className) {
    if (strstr($_SERVER['REQUEST_URI'], "/operator/") == false) {   //服务器不支持SCRIPT_URL
        if (file_exists(siteRoot . '/client/model/' . $className . '.php')) {
            require_once siteRoot . '/client/model/' . $className . '.php';
            return;
        }
    } else {
        if (file_exists(siteRoot . '/manager/model/' . $className . '.php')) {
            require_once siteRoot . '/manager/model/' . $className . '.php';
            return;
        }
    }
    if (file_exists(siteRoot . '/public/modules/' . $className . '.php')) {
        require_once siteRoot . '/public/modules/' . $className . '.php';
        return;
    }
    if (file_exists(siteRoot . '/client/order/model/' . $className . '.php')) {
        require_once siteRoot . '/client/order/model/' . $className . '.php';
        return;
    }
}
 
/**
 * 用javascript弹出一条信息
 * @param  $message
 */
function message($message='') {
    echo('');
}
 
/**
 * 模拟strstr()的第三个参数,返回$h中,$n之前的数据
 * //$h = haystack, $n = needle
 * @param  $h
 * @param  $n
 * @return 
 */
function strstrb($h, $n) {
    return array_shift(explode($n, $h, 2));
}
 
/**
 * 显示错误信息,并跳转至$pageurl,含有样式
 *
 * @param string $messages
 * @param string $pageurl
 * @param int $msc 秒数
 */
function msg($messages, $pageurl='javascript:history.back();', $msc=5) {
    echo 'System Message
        
        
        
        
           
               

Web System Message

           
           
                ', $messages, '                

>>>请点此处返回

           
       
        ';     exit(); }   /**  * 检查后面的日期是否大于前面的日期  * @param type $datecome 前面的日期  * @param type $datego 后面的日期  * @return type  */ function sub_date($datecome, $datego) {     $d1 = strtotime($datecome);     $d2 = strtotime($datego);     $days = round(($d2 - $d1) / 3600 / 24);     $days = $days < 1 ? 0 : $days;     return $days; }   /**  * 将$string的$length后边的内容用$dot替换  * @param string $string  * @param int $length  * @param string $dot  * @return string  */ function cutstr($string, $length, $dot = '...') {     @extract($string);     if (strlen($string) <= $length) {         return $string;     }     $string = htmlspecialchars($string);     $string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string);     $strcut = '';     $n = $tn = $noc = 0;     while ($n < strlen($string)) {         $t = ord($string[$n]);         if ($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {             $tn = 1;             $n++;             $noc++;         } elseif (194 <= $t && $t <= 223) {             $tn = 2;             $n += 2;             $noc += 2;         } elseif (224 <= $t && $t < 239) {             $tn = 3;             $n += 3;             $noc += 2;         } elseif (240 <= $t && $t <= 247) {             $tn = 4;             $n += 4;             $noc += 2;         } elseif (248 <= $t && $t <= 251) {             $tn = 5;             $n += 5;             $noc += 2;         } elseif ($t == 252 || $t == 253) {             $tn = 6;             $n += 6;             $noc += 2;         } else {             $n++;         }         if ($noc >= $length) {             break;         }     }     if ($noc > $length) {         $n -= $tn;     }     $strcut = substr($string, 0, $n);     $strcut = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $strcut);     return $strcut . $dot; }   /** +----------------------------------------------------------  * 如果 magic_quotes_gpc 为开启状态,则使用此方法使用为特殊符号前增加转移符号 +----------------------------------------------------------  * @access public +----------------------------------------------------------  * @param string $value 可以为数组 +----------------------------------------------------------  * @return string +----------------------------------------------------------  */ function kaddslashes($value) {     return $value = is_array($value) ? array_map('kaddslashes', $value) : addslashes($value); }   /** +----------------------------------------------------------  * 为特殊符号前去除转移符号 +----------------------------------------------------------  * @access public +----------------------------------------------------------  * @param string $value 可以为数组 +----------------------------------------------------------  * @return string +----------------------------------------------------------  */ function kstripcslashes($value) {     return $value = is_array($value) ? array_map('kstripcslashes', $value) : stripcslashes($value); }   /**  * 将字符串内容html实体化,避免一些非法信息直接执行。如果参数是数组,则递归。  * @param string $value  * @return array  */ function khtmlspecialchars($value) {     return is_array($value) ? array_map('khtmlspecialchars', $value) :             preg_replace('/&((#(\d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&\\1', str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $value)); }   /**  * 将字符串中的html去除,如果参数是数组,则递归。  * @param string $value  * @return array  */ function striptags($value) {     return $value = is_array($value) ? array_map('striptags', $value) : strip_tags($value); }   /**  * 检查email的合法性  *  * @param string $email  * @return bool  */ function check_email($email) {     if (preg_match("/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i", $email)) {         return true;     } else {         return false;     } }   /**  * 安全电子邮件地址  *  * @param string $email  * @param string $title  * @param $attributes  * @return  */ function safe_mailto($email, $title = '', $attributes = '') {     if (is_array($email)) {         $tmp = $email;         unset($email);         extract($tmp);     }     $title = (string) $title;       if ($title == "") {         $title = $email;     }       for ($i = 0; $i < 16; $i++) {         $x[] = substr(' $val) {                 $x[] = ' ' . $key . '="';                 for ($i = 0; $i < strlen($val); $i++) {                     $x[] = "|" . ord(substr($val, $i, 1));                 }                 $x[] = '"';             }         } else {             for ($i = 0; $i < strlen($attributes); $i++) {                 $x[] = substr($attributes, $i, 1);             }         }     }       $x[] = '>';       $temp = array();     for ($i = 0; $i < strlen($title); $i++) {         $ordinal = ord($title[$i]);           if ($ordinal < 128) {             $x[] = "|" . $ordinal;         } else {             if (count($temp) == 0) {                 $count = ($ordinal < 224) ? 2 : 3;             }               $temp[] = $ordinal;             if (count($temp) == $count) {                 $number = ($count == 3) ? (($temp['0'] % 16) * 4096) + (($temp['1'] % 64) * 64) + ($temp['2'] % 64) : (($temp['0'] % 32) * 64) + ($temp['1'] % 64);                 $x[] = "|" . $number;                 $count = 1;                 $temp = array();             }         }     }       $x[] = '<';     $x[] = '/';     $x[] = 'a';     $x[] = '>';       $x = array_reverse($x);     ob_start();     ?>\\2://'.Input::truncate( '\\3' ).''",         "'\\1'.Input::truncate( 'www.\\2.\\3' ).''",         "'\\1'.Input::truncate( 'ftp.\\2.\\3' ).''",         "'\\1'.Input::truncate( '\\2@\\3' ).''");     return preg_replace($patterns, $replacements, $string); }   /**  * 获取客户端浏览器  * @return string  */ function browse_info() {     $browser = "";     $browserver = "";     $Browsers = array("Lynx", "MOSAIC", "AOL", "Opera", "JAVA", "MacWeb", "WebExplorer", "OmniWeb");     $Agent = $_SERVER["HTTP_USER_AGENT"];  //浏览器的全局变量     for ($i = 0; $i <= 7; $i++) {         if (strpos($Agent, $Browsers[$i])) {             $browser = $Browsers[$i];             $browserver = "";         }     }     if (ereg("Mozilla", $Agent) && ereg("MSIE", $Agent)) {         $temp = explode("(", $Agent);         $Part = $temp[1];         $temp = explode(";", $Part);         $Part = $temp[1];         $temp = explode(" ", $Part);         $browserver = $temp[2];         //$browserver =preg_replace("/([d.]+)/","1",$browserver);         $browserver = "IE" . $browserver;         $browser = "IE";     }     if (ereg("Mozilla", $Agent) && !ereg("MSIE", $Agent)) {         $temp = explode("(", $Agent);         $Part = $temp[0];         $temp = explode("/", $Part);         $browserver = $temp[1];         $temp = explode(" ", $browserver);         $browserver = $temp[0];         $browserver = preg_replace("/([d.]+)/", "1", $browserver);         $browserver = " $browserver";         $browser = "Netscape Navigator";     }       if (ereg("Mozilla", $Agent) && ereg("Opera", $Agent)) {         $temp = explode("(", $Agent);         $Part = $temp[1];         $temp = explode(")", $Part);         $browserver = $temp[1];         $temp = explode(" ", $browserver);         $browserver = $temp[2];         $browserver = preg_replace("/([\d\.]+)/", "1", $browserver);         $browserver = " $browserver";         $browser = "Opera";     }     //火狐浏览器     if (ereg("Mozilla", $Agent) && ereg("Firefox", $Agent)) {         $temp = explode("(", $Agent);         $Part = $temp[1];         $temp = explode(")", $Part);         $browserver = $temp[1];         $temp = explode(" ", $browserver);         $browserver = $temp[2];         $browser = "火狐";     }     //谷歌浏览器     if (ereg("Mozilla", $Agent) && ereg("Chrome", $Agent)) {         $temp = explode("(", $Agent);         $temp = explode(" ", $temp[2]);         $browserver = $temp['3']; //如果以后google升级不变位置的话就是它了         $browser = "谷歌";     }     //360safe浏览器     if (ereg("Mozilla", $Agent) && ereg("360SE", $Agent)) {         //因为360浏览器,没有版本……         $browserver = $browser = "360安全卫士";     }     if ($browser != "") {         //$browseinfo = $browser.$browserver;         $browseinfo = $browserver;     } else {         $browseinfo = "Unknown";     }     return $browseinfo; }   /**  * 返回时间格式  * @name:  prepareDate  * @desc:  prepares a date in the proper format for specific database types  *         given a UNIX timestamp  * @param: $timestamp: a UNIX timestamp  * @param: $fieldType: the type of field to format the date for  *         (in MySQL, you have DATE, TIME, YEAR, and DATETIME)  */ function prepareDate($timestamp, $fieldType = 'DATETIME') {     $date = '';     if (!$timestamp === false && $timestamp > 0) {         switch ($fieldType) {             case 'DATE' :                 $date = date('Y-m-d', $timestamp);                 break;             case 'TIME' :                 $date = date('H:i:s', $timestamp);                 break;             case 'YEAR' :                 $date = date('Y', $timestamp);                 break;             default :                 $date = date('Y-m-d H:i:s', $timestamp);                 break;         }     }     return $date; }     /**  * 适应多维数组的递归,并将其中重复的值去掉后返回  * @param array $array  * @return array  */ function super_unique($array) {     $result = array_map("unserialize", array_unique(array_map("serialize", $array)));       foreach ($result as $key => $value) {         if (is_array($value)) {             $result[$key] = super_unique($value);         }     }       return $result; }   /**  * 如果数值不满足2位,自动补零  * @param int $num  * @return int  */ function fullzero($num){     if(strlen($num)!=2){         return '0'.$num;     }else{         return $num;     } }   //返回上一个url function get_visit_url(){     return $_SERVER['HTTP_REFERER']; } ?>

 

你可能感兴趣的:(php)