分享

收藏PHP常用函数(2)

 万卷书生 2009-05-24

产生随机字符串函数
<?
function random($length) {
$hash = @#@#;
$chars = @#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#; //开源代码OSPHP.COM.Cn
$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) { //开源OSPhP.COM.CN
if(
strlen($string) > $length) {
               if(
$sss){
                      
$length=$length 3;
                      
$addstr=@# ...@#;

//OSPHP.COM.Cn开源


                
}
  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地址
<? //开源代码OSPhP.COm.CN
function GetIP(){
             if (
getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
                   
$ip getenv("HTTP_CLIENT_IP"); //oSPHP.COM.CN
             else if (
getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
                   
$ip getenv("HTTP_X_FORWARDED_FOR"); //OSPHP.com.CN
             else if (
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"))
//PHP开源代码

                   
$ip $_SERVER[@#REMOTE_ADDR@#];
             
else
                  
$ip "unknown";

             return(
$ip);
}

?>
//OsPHP.COM.CN


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

?>


分页(两个函数配合使用)
<?
function getpage($sql,$page_size=20) //开源代码OSPhP.COm.CN
{
      global 
$page,$totalpage,$sums;  //out param
      
$page $_GET["page"];
      
//$eachpage = $page_size;
      
$pagesql strstr($sql," from ");
//OsPHP.COM.CN

      
$pagesql "select count(*) as ids ".$pagesql;
      
$result mysql_query($pagesql);
      if(
$rs mysql_fetch_array($result)) $sums $rs[0];
//OsPHP.COM.CN

      
$totalpage ceil($sums/$page_size);
      if((!
$page)($page<1)) $page=1;
   
$startpos = ($page-1)*$page_size;

//开源代码OSPHP.COM.Cn


   
$sql .=" limit $startpos,$page_size ";
    return 
$sql;
}
function 
showbar($string="")
{     
    global 
$page,$totalpage;
$out="共<font ".$totalpage."color=@#red@#><b>".$totalpage."</b></font>页  "; //OSPHP.COm.CN
    
$linkNum =4;
    
$start = ($page-round($linkNum/2))> ($page-round($linkNum/2)) : "1";
//开源代码OSPHP.COM.Cn

    
$end   = ($page+round($linkNum/2))<$totalpage  ($page+round($linkNum/2)) : $totalpage;
    
$prestart=$start-1;

//OsPHP.COM.CN


    
$nextend=$end+1;
    if(
$page<>1
$out .= "<a href=@#?page=1&&".$string."@#title=第一页>第一页</a> ";
    if(
$start>1) //OsPHP.COM.CN
$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> ";

//OsPHP.COM.CN


    }
if(
$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;
}

?>


获取新插入数据的ID
<?
mysql_insert_id
();
?>


//获得当前的脚本网址
<?
function get_php_url(){
        if(!empty(
$_server["REQUEST_URI"])){

//oSPHP.COM.CN


                
$scriptName $_SERVER["REQUEST_URI"];
                
$nowurl $scriptName;
        }else{
                
$scriptName $_SERVER["PHP_SELF"];

//oSPHP.COM.CN


                if(empty(
$_SERVER["QUERY_STRING"])) $nowurl $scriptName;
                else 
$nowurl $scriptName."?".$_SERVER["QUERY_STRING"];
        } //开源代码OSPHP.COM.Cn
        return 
$nowurl;
}

?>


//把全角数字转为半角数字
<?
function GetAlabNum($fnum){
        
$nums = array("0","1","2","3","4","5","6","7","8","9"); //OSPHP.COm.CN
        
$fnums "0123456789";
        for(
$i=0;$i<=9;$i++) $fnum str_replace($nums[$i],$fnums[$i],$fnum);
//oSPHP.COM.CN

        
$fnum ereg_replace("[^0-9.]|^0{1,}","",$fnum);
        if(
$fnum==""$fnum=0;
        return 
$fnum;
}

?> //PHP开源代码


//去除HTML标记
<?
function Text2Html($txt){
        
$txt str_replace("  "," ",$txt);
        
$txt str_replace("<","<",$txt);
//OsPHP.COM.CN

        
$txt str_replace(">",">",$txt);
        
$txt preg_replace("/[rn]{1,}/isU","
rn"
,$txt);
        return 
$txt; //OsPHP.COM.CN
}

?>


//相对路径转化成绝对路径
<?
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])) {  //开源代码OSPhP.COm.CN
        
$new_content preg_replace('/href="//''href="'.$protocol[0].$server_url.'/'$content); 
        
$new_content preg_replace('/src="//''src="'.$protocol[0].$server_url.'/'$new_content); 

//OsPHP.COM.CN


    } else { 
        
$new_content $content
    } 
    return 
$new_content


?>


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

?>


//HTML表格的每行转为CSV格式数组
<?
function get_tr_array($table) {
//开源代码OSPhP.COm.CN

        
$table preg_replace("'<td[^>]*?>'si",'"',$table);
        
$table str_replace("</td>",'",',$table);
        
$table str_replace("</tr>","{tr}",$table); //开源代码OSPHP.COM.Cn
        
//去掉 HTML 标记 
        
$table preg_replace("'<[/!]*?[^<>]*?>'si","",$table);
        
//去掉空白字符  
        
$table preg_replace("'([rn])[s]+'","",$table);
//OsPHP.COM.CN

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

        
$table explode(",{tr}",$table);

//OSPHP.com.CN


        
array_pop($table);
        return 
$table;
}

?>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多