首页 > Other > 我常用的common function库

我常用的common function库

有零填充、截取中文、halt、html跳转、js跳转、过滤html、检查邮箱合法、转换文字中的超链接为可点击连接、返回时间格式等等常用php函数库。

<?php
//因为前后台都要用到,所以放在supermario文件夹下方便重用

/**
* 喔~可爱滴小数点~喔~可爱滴千位数~
* 如果位数超过4位,则将第3位前增加,
* @param int $gold
* @return string
*/
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(‘Via: www.guangxitravel.cn’);
header(‘Content-Length: ‘.strlen($buffer));
}
return $buffer;
}

/**
* 没有提示的情况下跳转页面
* @param string $url
* @param string $target
*/
function go($url=”, $target=’parent’) {
if ($url != “”) {
echo(‘<script language=”javascript”>window.location=”‘ . $url . ‘”;</script>’);
} else {
echo(‘<script language=”javascript”>window.location=self.location;”</script>’);
}
}

/**
* 清除缓存,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, ‘<span class=”red b”>’ . $v . ‘</span>’, $data);
}
return $data;
} else {
return str_replace($keywords, ‘<span class=”red b”>’ . $keywords . ‘</span>’, $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 <string> $message
*/
function message($message=”) {
echo(‘<script language=”javascript”>alert(“‘ . $message . ‘”);</script>’);
}

/**
* 模拟strstr()的第三个参数,返回$h中,$n之前的数据
* //$h = haystack, $n = needle
* @param <string> $h
* @param <string> $n
* @return <string>
*/
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 ‘<title>System Message</title>
<style type=”text/css”>
*{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}
</style>
</head>
<body>
<div id=”msg”>
<div id=”msgtitle”>
<h1>Web System Message</h1>
</div>
<div id=”msgcontent”>
‘, $messages, ‘
<p><a href=”‘, $pageurl, ‘”>>>>请点此处返回</a></p>
</div>
</div>
<meta http-equiv=”refresh” content=”‘ . $msc . ‘;URL=’, $pageurl, ‘”>’;
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(‘&amp;’, ‘&quot;’, ‘&lt;’, ‘&gt;’), 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(‘&amp;’, ‘&quot;’, ‘&lt;’, ‘&gt;’), $strcut);
return $strcut . $dot;
}

/**
+

分类:Other
  1. 还没有评论。
  1. No trackbacks yet.

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: