登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Perfect-World

以無法為有法,以無限為有限!

 
 
 

日志

 
 

PHP字符串处理函数集合  

2009-04-08 11:21:59|  分类: PHP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

以下是代码片段:
 <?
//------------------------
// PHP内置字符串函数实现 (windlike整理)
//------------------------
//字符串长度
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
//--------------------
// 自实现字符串处理函数 (windlike整理)
//--------------------
//插入一段字符串
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;
}
?>

  评论这张
 
阅读(1824)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018