PHP字符串经典函数

来源:互联网 发布:网络英语课程哪个便宜 编辑:程序博客网 时间:2024/04/19 05:23

<?    
//------------------------    
// PHP内置字符串函数实现     
//------------------------    
   
//字符串长度    
function strlen ($str)    
{    
        if ($str == '' ) return 0;    
        $count =  0;    
        while (1){    
                if ( $str[$count] != NULL){    
                         $count++;    
                        continue;    
                }else{    
                        break;    
                }    
        }    
        return $count;    
}    
   
//截取子串    
function substr($str, $start,  $length=NULL)    
{    
        if ($str== '' || $start>strlen($str )) return;    
        if (($length!=NULL) && ( $start>0) && ($length> strlen($str)-$start)) return;    
        if (( $length!=NULL) && ($start< 0) && ($length>strlen($str )+$start)) return;    
        if ($length ==  NULL) $length = (strlen($str ) - $start);    
             
        if ($start <  0){    
                for ($i=(strlen( $str)+$start); $i<(strlen ($str)+$start+$length ); $i++) {    
                        $substr .=  $str[$i];    
                }    
        }    
        if ($length  > 0){    
                for ($i= $start; $i<($start+$length ); $i++) {    
                        $substr  .= $str[$i];    
                }    
        }    
        if ( $length < 0){    
                for ($i =$start; $i<(strlen( $str)+$length); $i++) {    
                        $substr .= $str[$i ];    
                }    
        }    
        return $substr;    
}    
   
//字符串翻转    
function strrev($str)    
{    
        if ($str == '') return 0 ;    
        for ($i=(strlen($str)- 1); $i>=0; $i --){    
                $rev_str .= $str[$i ];    
        }    
        return $rev_str;    
}    
   
//字符串比较    
function strcmp($s1,  $s2)    
{    
        if (strlen($s1) <  strlen($s2)) return -1 ;    
        if (strlen($s1) > strlen( $s2)) return 1;    
        for ($i =0; $i<strlen($s1 ); $i++){    
                if ($s1[ $i] == $s2[$i]){    
                        continue;    
                }else{    
                        return false;    
                }    
        }    
        return  0;    
}    
   
//查找字符串    
function  strstr($str, $substr)    
{    
         $m = strlen($str);    
        $n = strlen($substr );    
        if ($m < $n) return false ;    
        for ($i=0; $i <=($m-$n+1); $i ++){    
                $sub = substr( $str, $i, $n);    
                if ( strcmp($sub, $substr) ==  0)  return $i;    
        }    
        return false ;    
}    
   
//字符串替换    
function str_replace($substr , $newsubstr, $str)    
{    
         $m = strlen($str);    
        $n = strlen($substr );    
        $x = strlen($newsubstr );    
        if (strchr($str, $substr ) == false) return false;    
        for ( $i=0; $i<=($m- $n+1); $i++){    
                 $i = strchr($str,  $substr);    
                $str = str_delete ($str, $i, $n);    
                $str = str_insert($str,  $i, $newstr);    
        }    
        return $str ;    
}    
?>    
   
<?php    
//--------------------    
// 自实现字符串处理函数     
//--------------------    
   
//插入一段字符串    
function str_insert($str, $i , $substr)    
{    
        for($j=0 ; $j<$i; $j ++){    
                $startstr .= $str[$j ];    
        }    
        for ($j=$i; $j <strlen($str); $j ++){    
                $laststr .= $str[$j ];    
        }    
        $str = ($startstr . $substr  . $laststr);    
        return $str ;    
}    
   
//删除一段字符串    
function str_delete($str , $i, $j)    
{    
        for ( $c=0; $c<$i;  $c++){    
                $startstr .= $str [$c];    
        }    
        for ($c=( $i+$j); $c<strlen ($str); $c++){    
                $laststr  .= $str[$c];    
        }    
         $str = ($startstr . $laststr );    
        return $str;    
}    
   
//复制字符串    
function strcpy($s1, $s2 )    
{    
        if (strlen($s1)==NULL || !isset( $s2)) return;    
        for ($i=0 ; $i<strlen($s1);  $i++){    
                $s2[] = $s1 [$i];    
        }    
        return $s2;    
}    
   
//连接字符串    
function strcat($s1 , $s2)    
{    
        if (!isset($s1) || !isset( $s2)) return;    
        $newstr = $s1 ;    
        for($i=0; $i <count($s); $i ++){    
                $newstr .= $st[$i ];    
        }    
        return $newsstr;    
}    
   
//简单编码函数(与php_decode函数对应)    
function php_encode($str)    
{    
        if ( $str=='' && strlen( $str)>128) return false;    
        for( $i=0; $i<strlen ($str); $i++){    
                 $c = ord($str[$i ]);    
                if ($c>31 && $c <107) $c += 20 ;    
                if ($c>106 && $c <127) $c -= 75 ;    
                $word = chr($c );    
                $s .= $word;    
        }      
        return $s;      
}    
   
//简单解码函数(与php_encode函数对应)    
function php_decode($str)    
{    
        if ( $str=='' && strlen($str )>128) return false;    
        for( $i=0; $i<strlen ($str); $i++){    
                $c  = ord($word);    
                if ( $c>106 && $c<127 ) $c = $c-20;    
                if ($c>31 && $c< 107) $c = $c+75 ;    
                $word = chr( $c);    
                $s .= $word ;    
        }      
        return $s;      
}    
   
//简单加密函数(与php_decrypt函数对应)    
function php_encrypt($str)    
{    
         $encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567890';    
         $decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';    
        if ( strlen($str) == 0) return  false;    
        for ($i=0;  $i<strlen($str); $i ++){    
                for ($j=0; $j <strlen($encrypt_key); $j ++){    
                        if ($str[$i] == $encrypt_key [$j]){    
                                $enstr .=  $decrypt_key[$j];    
                                break;    
                        }    
                }    
        }    
        return $enstr;    
}    
   
//简单解密函数(与php_encrypt函数对应)    
function php_decrypt($str)    
{    
         $encrypt_key = 'abcdefghijklmnopqrstuvwxyz1234567890';    
         $decrypt_key = 'ngzqtcobmuhelkpdawxfyivrsj2468021359';    
        if ( strlen($str) == 0) return  false;    
        for ($i=0;  $i<strlen($str); $i ++){    
                for ($j=0; $j <strlen($decrypt_key); $j ++){    
                        if ($str[$i] == $decrypt_key [$j]){    
                                $enstr .=  $encrypt_key[$j];    
                                break;    
                        }    
                }    
        }    
        return $enstr;    
}    
?>    

原创粉丝点击