+ -
当前位置:首页 → 问答吧 → 常用function

常用function

时间:2010-01-08

来源:互联网

产生随机字符串函数
<?
function random($length) {
$hash = @#@#;
$chars = @#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#;
$max = strlen($chars) - 1;
mt_srand((double)microtime() * 1000000);
for($i = 0; $i < $length; $i++) { //OsPHP.COM.CN
  $hash .= $chars[mt_rand(0, $max)];
}
return $hash;
}

?>
-----------------------------------------------------------------------------------------------------------------------

截取一定长度的字符串(该函数对GB2312使用有效)
<?
function Wordscut($string, $length ,$sss=0) { strlen($string) > $length) {
               if($sss){
                      $length=$length - 3;
                      $addstr=@# ...@#; 

if(
                }
  for($i = 0; $i < $length; $i++) {
   if(ord($string[$i]) > 127) {
    $wordscut .= $string[$i].$string[$i + 1]; //OSPHP.com.CN
    $i++;
   } else {
    $wordscut .= $string[$i];
   }
  }
  return $wordscut.$addstr;
}
return $string;
}

?>
-----------------------------------------------------------------------------------------------------------------------
取得客户端IP地址
<?
function GetIP(){
             if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
                   $ip = getenv("HTTP_CLIENT_IP"); 
             else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
                   $ip = getenv("HTTP_X_FORWARDED_FOR"); getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
                   $ip = getenv("REMOTE_ADDR");
             else if (isset($_SERVER[@#REMOTE_ADDR@#]) && $_SERVER[@#REMOTE_ADDR@#] && strcasecmp($_SERVER[@#REMOTE_ADDR@#], "unknown")) $ip = $_SERVER[@#REMOTE_ADDR@#];
             else
                  $ip = "unknown";

             return($ip);
}

?>
判断邮箱地址
<?
function checkEmail($inAddress)
{
return (ereg("^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+",$inAddress));
}

?> 



分页(两个函数配合使用)
<?
function getpage($sql,$page_size=20)
{
      global $page,$totalpage,$sums;  //out param
      $page = $_GET["page"];
      //$eachpage = $page_size;
      $pagesql = strstr($sql," from "); $pagesql = "select count(*) as ids ".$pagesql;
      $result = mysql_query($pagesql);
      if($rs = mysql_fetch_array($result)) $sums = $rs[0]; $totalpage = ceil($sums/$page_size);
      if((!$page)($page<1)) $page=1;
   $startpos = ($page-1)*$page_size; 
   $sql .=" limit $startpos,$page_size ";
    return $sql;
}
function showbar($string="")
{     
    global $page,$totalpage;
$out="共<font ".$totalpage."color=@#red@#><b>".$totalpage."</b></font>页  "; 
    $linkNum =4;
    $start = ($page-round($linkNum/2))>0 ? ($page-round($linkNum/2)) : "1"; $end   = ($page+round($linkNum/2))<$totalpage ? ($page+round($linkNum/2)) : $totalpage;
    $prestart=$start-1; $nextend=$end+1;
    if($page<>1) 
$out .= "<a href=@#?page=1&&".$string."@#title=第一页>第一页</a> ";
    if($start>1) $out.="<a href=@#?page=".$prestart."@# title=上一页>..<<</a> ";

for($t=$start;$t<=$end;$t++)
    {
     $out .= ($page==$t) ? "<font [".$t."]color=@#red@#><b>[".$t."]</b></font> " : "<a $thref=@#?page=$t&&".$string."@#>$t</a> "; $end<$totalpage)
$out.="<a href=@#?page=".$nextend."&&".$string."@# title=下一页>>>..</a>";
    if($page<>$totalpage)
   $out .= " <a href=@#?page=".$totalpage."&&".$string."@# title=最后页>最后页</a>"; //开源代码OSPhP.COm.CN
   return $out;
}

?> 


//获得当前的脚本网址
<?
function get_php_url(){
        if(!empty($_server["REQUEST_URI"])){ //oSPHP.COM.CN
                $scriptName = $_SERVER["REQUEST_URI"];
                $nowurl = $scriptName;
        }else{
                $scriptName = $_SERVER["PHP_SELF"]; $_SERVER["QUERY_STRING"])) $nowurl = $scriptName;
                else $nowurl = $scriptName."?".$_SERVER["QUERY_STRING"];
        } $nowurl;
}

?>


//把全角数字转为半角数字
<?
function GetAlabNum($fnum){
        $nums = array("0","1","2","3","4","5","6","7","8","9"); $fnums = "0123456789";
        for($i=0;$i<=9;$i++) $fnum = str_replace($nums[$i],$fnums[$i],$fnum); 
        $fnum = ereg_replace("[^0-9.]|^0{1,}","",$fnum);
        if($fnum=="") $fnum=0;
        return $fnum;
}

?>


        

//去除HTML标记
<?
function Text2Html($txt){
        $txt = str_replace("  "," ",$txt);
        $txt = str_replace("<","<",$txt); 
        $txt = str_replace(">",">",$txt);
        $txt = preg_replace("/[rn]{1,}/isU","
rn",$txt);
        return $txt;
}

?>


//相对路径转化成绝对路径
<?
function relative_to_absolute($content, $feed_url) { 
    preg_match('/(http|https|ftp):///', $feed_url, $protocol); 
    $server_url = preg_replace("/(http|https|ftp|news):///", "", $feed_url);  //OSPHP.com.CN
    $server_url = preg_replace("//.*/", "", $server_url); 

    if ($server_url == '') { 
        return $content; 
    } 

    if (isset($protocol[0])) {  
        $new_content = preg_replace('/href="//', 'href="'.$protocol[0].$server_url.'/', $content); 
        $new_content = preg_replace('/src="//', 'src="'.$protocol[0].$server_url.'/', $new_content);  $new_content = $content; 
    } 
    return $new_content; 


?>


//取得所有链接
<?
function get_all_url($code){ 
        preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s*[^>]*>([^>]+)</a>/i',$code,$arr);
        return array('name'=>$arr[2],'url'=>$arr[1]); 
}

?>


//HTML表格的每行转为CSV格式数组 <?
function get_tr_array($table) { //PHP开源代码
        $table = preg_replace("'<td[^>]*?>'si",'"',$table);
        $table = str_replace("</td>",'",',$table);
        $table = str_replace("</tr>","{tr}",$table); //去掉 HTML 标记 
        $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table);
        //去掉空白字符  
        $table = preg_replace("'([rn])[s]+'","",$table); 

        
        $table = str_replace(" ","",$table);
        $table = str_replace(" ","",$table);

        $table = explode(",{tr}",$table); array_pop($table);
        return $table;
}

?>

        


//将HTML表格的每行每列转为数组,采集表格数据
<?
function get_td_array($table) {
        $table = preg_replace("'<table[^>]*?>'si","",$table); $table = preg_replace("'<tr[^>]*?>'si","",$table);
        $table = preg_replace("'<td[^>]*?>'si","",$table);
        $table = str_replace("</tr>","{tr}",$table); $table = str_replace("</td>","{td}",$table);
        //去掉 HTML 标记 
        $table = preg_replace("'<[/!]*?[^<>]*?>'si","",$table); 
        //去掉空白字符  
        $table = preg_replace("'([rn])[s]+'","",$table);
        $table = str_replace(" ","",$table); 
        $table = str_replace(" ","",$table);
        
        $table = explode('{tr}', $table);
        array_pop($table); 
        foreach ($table as $key=>$tr) {
                $td = explode('{td}', $tr);
                array_pop($td);
            $td_array[] = $td; $td_array;
}

?>

作者: duqingnian   发布时间: 2010-01-08

作者: whl1295a   发布时间: 2010-01-08

作者: weirdo   发布时间: 2010-01-08

  

作者: luoling_2046   发布时间: 2010-01-08

很强大,不错

作者: longqiqi   发布时间: 2010-01-08

有用!谢谢

作者: wangfubao   发布时间: 2010-01-08

这个很赞!顶!

作者: kazaff   发布时间: 2010-01-08

好东西,提过去用了

作者: roockey   发布时间: 2010-01-08

好东西 顶一个

作者: anton   发布时间: 2010-01-08

作者: aluo   发布时间: 2010-01-08

作者: qffffai   发布时间: 2010-01-08

感谢分享!!!!!

作者: qsmeijie   发布时间: 2010-01-08

东西不错

作者: lsmallboy   发布时间: 2010-01-09

汗水,支持下!

作者: xuexian123   发布时间: 2010-01-10

太好了这东西

作者: huiloveleaf   发布时间: 2010-01-11

热门下载

更多