PHP常用自定义函数(2)

PHP 1573 0 2011-09-12

PHP常用自定义函数(2)
产生随机字符串函数
<?
function random($length
) {
$hash = @
#@#;
$chars = @
#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#; 
$max strlen($chars) - 1
;
mt_srand((double)microtime() * 1000000
);
for(
$i 0$i $length$i
++) {


  $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=@
# ...@#; 
                
}
  for(
$i 0$i $length$i++) {
   if(
ord($string[$i]) > 127) {
    
$wordscut .= $string[$i].$string[$i 1]; 
    
$i++;
   } else {
    
$wordscut .= $string[$i];
   }
  }
  return 
$wordscut.$addstr;
}
return 
$string;
}

?>
==================================

取得客户端IP地址
<? //PHP开源代码
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"
);

//PHP开源代码


             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")) 
                   
$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; //PHP开源代码
   
$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";  
    
$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
$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> "
    }
if(
$end<$totalpage)
$out.="<a href=@#?page=".$nextend."&&".$string."@# title=下一页>>>..</a>";
    if(
$page<>$totalpage)
   
$out .= " <a href=@#?page=".$totalpage."&&".$string."@# title=最后页>最后页</a>"
   return 
$out;
}
?>

==================================

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

==================================

//获得当前的脚本网址
<?
function get_php_url
(){
        if(!empty(
$_server["REQUEST_URI"
])){  
                
$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"
];
        } 
        return 
$nowurl
;
}
?>

==================================

//把全角数字转为半角数字
<?
function GetAlabNum($fnum
){
        
$nums = array("0","1","2","3","4","5","6","7","8","9"
); //PHP开源代码
        
$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("<","&lt;",$txt
); 
        
$txt str_replace(">","&gt;",$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
);   
    
$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);   
    } else { 
        
$new_content $content
    } 
    return 
$new_content

?>

==================================

//取得所有链接
<?
function get_all_url($code
){ 
        
preg_match_all('/<as+href=["|']?([^>"' ]+)["|']?s*[^>]*>([^>]+)</a>/i',$code,$arr
);  //oSPHP.COM.CN
        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
); 
        
//去掉 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;
}
?>

上一篇:PHP常用自定义函数(1)

下一篇:PHP常用自定义函数(3)

讨论数量:0

请先登录再发表讨论。 2024-05-03

天涯网魂
3 杠 5 星
TA 的文章
TA 的随言
TA 的资源链