제로 패딩, 중국어 가로채기, 정지, html 점프, js 점프, html 필터링, 이메일 적법성 확인, 텍스트의 하이퍼링크를 클릭 가능한 연결로 변환, 시간 형식 반환 등과 같이 일반적으로 사용되는 PHP 함수 라이브러리가 있습니다.
- //因为前后台TU要用到,所以放재supermario文件夹下方便중용
- /**
- * 아~ 귀여운 소수점~ 아~ 귀여운 천자리~
- * 4자리 이상이면 앞에 세 번째 자리를 추가하세요,
- * @param int $gold
- * @return 문자열
- */
- function showGold($gold) {
- return number_format($gold);
- }
- /**
- * 페이지 압축 출력
- */
- function ob_callback($buffer) {
- header('Etag: '.md5($buffer));
- if( Extension_loaded('zlib') AND strstr($_SERVER["HTTP_ACCEPT_ENCODING"],"gzip") ) {
- $buffer = gzencode($buffer,9);
- header('Content-Encoding: gzip');
- header('Vary: Accept-Encoding');
- //header('경유: www.guangxitravel .cn');
- header('콘텐츠 길이: '.strlen($buffer));
- }
- return $buffer;
- }
- /**
- * 프롬프트 없이 페이지로 이동
- * @param string $url
- * @param string $target
- */
- function go($url='', $target='parent') {
- if ($url != "") {
- echo('');
- } 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
-
- *{margin:0;padding:0px}
- body{background:#fff;color:#333;font:12px Verdana, Tahoma, sans-serif;text-align:center;margin:0 auto;}
- a{text-decoration:none;color:#29458C}
- a:hover{text-decoration:underline;color:#f90}
- #msg{border:1px solid #c5d7ef;text-align:left;margin:10% auto; width:50%}
- #msgtitle{padding:5px 10px;background:#f0f6fb;border-bottom:1px #c5d7ef solid}
- #msgtitle h1{font-size:14px;font-weight:bold;padding-left:10px;border-left:3px solid #acb4be;color:#1f3a87}
- #msgcontent {padding:20px 50px;}
- #msgcontent li{display:block;padding:5px;list-style:none;}
- #msgcontent p{text-align:center;margin-top:10px;padding:0}
-
-
-
-
- ';
- 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);
- }
-
- /**
- * 이메일 유효성 확인
- *
- * @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 {
- 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 = (문자열) $title;
- if ($title == "") {
- $title = $email;
- }
- for ($i = 0; $i < 16; $i ) {
- $x[] = substr(' }
- $x[] = '"';
- if ($attributes != '') {
- if (is_array($attributes)) {
- foreach ($attributes as $key => $val) {
- $x[] = ' ' . $키 . '="';
- 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();
- ?>
- // var l=new Array();
- $i = 0;
- foreach ($x as $val) {
- ?>l[]='';
-
- for (var i = l.length-1; i >= 0; i=i-1){
- if (l[ i].substring(0, 1) == '|') document.write("" unescape(l[i].substring(1)) ";");
- else document.write(unescape( l[i]));}
- //]]>
- $buffer = ob_get_contents();
- ob_end_clean();
- if ($tmp == '' || $tmp == NULL) {
- return $buffer;
- } else {
- echo $buffer;
- }
- }
- /**
- ---------------------------------- ----------
- * 텍스트의 하이퍼링크를 클릭 가능한 링크로 변환
- ---------- --- ---------------------------------
- * @access public
- ---- --- --------------------- --- -
- * @param string $text 처리할 문자열
- ------------- ------ -------
- * @return 문자열
- ---------- ---------- --------------
- */
- function makeLink($string) {
- $validChars = "a-z0-9/-_ =.~!%@?#&;:$|";
- $patterns = array(
- "/(^|[^]_a-z0-9-="'/])([a-z] ?)://([{$validChars}] )/ei",
- "/(^|[^]_a-z0-9-="'/])www.([a-z0-9-] ).([{$validChars}] )/ei",
- "/(^|[^]_a-z0-9-="'/])ftp.([a-z0-9-] ).([{$validChars}] )/ei",
- " /(^|[^]_a-z0-9-="'/:.])([a-z0-9-_.] ?)@([{$validChars}] )/ei");
- $replacements = array(
- "'\1\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 문자열
- */
- function browser_info() {
- $browser = "";
- $browserver = "";
- $Browsers = array("Lynx", "MOSAIC" , "AOL", "Opera", "JAVA", "MacWeb", "WebExplorer", "OmniWeb");
- $Agent = $_SERVER["HTTP_USER_AGENT"] //浏览器的전체局变weight
- for ($i = 0; $i <= 7; $i ) {
- if (strpos($Agent, $Browsers[$i])) {
- $browser = $Browsers[$i];
- $browserver = "";
- }
- }
- if (ereg("Mozilla", $Agent) && ereg("MSIE", $Agent)) {
- $temp = 폭발 ("(", $Agent);
- $Part = $temp[1];
- $temp = 폭발(";", $Part);
- $Part = $temp[1];
- $temp = 폭발(" ", $Part);
- $browserver = $temp[2];
- //$browserver =preg_replace("/([d.] )/","1" ,$browserver);
- $browserver = "IE" . $browserver;
- $browser = "IE";
- }
- if (ereg("Mozilla", $Agent) && !ereg("MSIE", $Agent)) {
- $temp = 폭발("(", $Agent);
- $Part = $temp[0];
- $temp = 폭발("/", $Part);
- $browserver = $temp[1];
- $temp = 폭발(" ", $browserver);
- $browserver = $temp[0];
- $browserver = preg_replace("/([d.] )/", "1", $browserver);
- $browserver = " $browserver";
- $browser = "Netscape Navigator";
- }
- if (ereg("Mozilla", $Agent) && ereg( "Opera", $Agent)) {
- $temp = 폭발("(", $Agent);
- $Part = $temp[1];
- $temp = 폭발(")", $ 부분);
- $browserver = $temp[1];
- $temp = 폭발(" ", $browserver);
- $browserver = $temp[2];
- $browserver = preg_replace( "/([d.] )/", "1", $browserver);
- $browserver = " $browserver";
- $browser = "Opera";
- }
- //화狐浏览器
- if (ereg("Mozilla", $Agent) && ereg("Firefox", $Agent)) {
- $temp =explore("(", $Agent);
- $Part = $temp[1];
- $temp = 폭발(")", $Part);
- $browserver = $temp[1];
- $temp = 폭발(" ", $browserver);
- $browserver = $temp[2];
- $browser = "화염";
- }
- //谷歌浏览器
- if (ereg("Mozilla", $Agent) && ereg( "Chrome", $Agent)) {
- $temp = 폭발("(", $Agent);
- $temp = 폭발(" ", $temp[2]);
- $browserver = $ 온도['3']; //如果以后google升级不变位置的话就是它了
- $browser = "谷歌";
- }
- //360safe浏览器
- if (ereg("Mozilla", $Agent) && ereg("360SE", $Agent)) {
- //因为360浏览器,没有版本…
- $browserver = $browser = "360안전전卫士";
- }
- if ($browser != "") {
- //$browseinfo = $browser.$browserver;
- $ browserinfo = $browserver;
- } else {
- $browseinfo = "알 수 없음";
- }
- return $browseinfo;
- }
- /**
- * 返回时间格式
- * @name: prepareDate
- * @desc: 특정 데이터베이스 유형에 적합한 형식으로 날짜를 준비합니다
- * UNIX 타임스탬프가 제공됨
- * @param: $timestamp : UNIX 타임스탬프
- * @param: $fieldType: 날짜 형식을 지정하는 필드 유형
- * (MySQL에는 DATE, TIME, YEAR 및 DATETIME이 있습니다)
- */
- function prepareDate($timestamp, $fieldType = 'DATETIME') {
- $date = '';
- if (!$timestamp === false && $timestamp > 0) {
- 스위치 ($fieldType) {
- 케이스 'DATE' :
- $date = date('Y-m-d', $timestamp);
- break;
- 케이스 'TIME' :
- $date = date('H:i:s', $timestamp);
- break;
- case 'YEAR' :
- $date = date('Y', $timestamp);
- break;
- 기본값 :
- $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자리를 충족하지 않으면 자동으로 0이 추가됩니다.
- * @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'];
- }
- ?>
复代码
|