有用的函数-字符串处理

来源:互联网 发布:js 深度克隆 编辑:程序博客网 时间:2024/06/08 03:31

有用的函数-字符串处理

1.全角转半角
  1. function make_semiangle($str)    
  2. {    
  3.     $arr = array('0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4',    
  4.                  '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9',    
  5.                  'A' => 'A', 'B' => 'B', 'C' => 'C', 'D' => 'D', 'E' => 'E',    
  6.                  'F' => 'F', 'G' => 'G', 'H' => 'H', 'I' => 'I', 'J' => 'J',    
  7.                  'K' => 'K', 'L' => 'L', 'M' => 'M', 'N' => 'N', 'O' => 'O',    
  8.                  'P' => 'P', 'Q' => 'Q', 'R' => 'R', 'S' => 'S', 'T' => 'T',    
  9.                  'U' => 'U', 'V' => 'V', 'W' => 'W', 'X' => 'X', 'Y' => 'Y',    
  10.                  'Z' => 'Z', 'a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd',    
  11.                  'e' => 'e', 'f' => 'f', 'g' => 'g', 'h' => 'h', 'i' => 'i',    
  12.                  'j' => 'j', 'k' => 'k', 'l' => 'l', 'm' => 'm', 'n' => 'n',    
  13.                  'o' => 'o', 'p' => 'p', 'q' => 'q', 'r' => 'r', 's' => 's',    
  14.                  't' => 't', 'u' => 'u', 'v' => 'v', 'w' => 'w', 'x' => 'x',    
  15.                  'y' => 'y', 'z' => 'z',    
  16.                  '(' => '(', ')' => ')', '〔' => '[', '〕' => ']', '【' => '[',    
  17.                  '】' => ']', '〖' => '[', '〗' => ']', '“' => '[', '”' => ']',    
  18.                  '‘' => '[', '’' => ']', '{' => '{', '}' => '}', '《' => '<',    
  19.                  '》' => '>',    
  20.                  '%' => '%', '+' => '+', '—' => '-', '-' => '-', '~' => '-',    
  21.                  ':' => ':', '。' => '.', '、' => ',', ',' => '.', '、' => '.',    
  22.                  ';' => ',', '?' => '?', '!' => '!', '…' => '-', '‖' => '|',    
  23.                  '”' => '"', '’' => '`', '‘' => '`', '|' => '|', '〃' => '"',    
  24.                  ' ' => ' ','$'=>'$','@'=>'@','#'=>'#','^'=>'^','&'=>'&','*'=>'*', 
  25.                  '"'=>'"'); 
  26.    
  27.     return strtr($str, $arr);    
  28. }
复制代码
2.字符串转译
1.字符串处理
  1. function Char_rev($msg,$direct=0){
  2.     $or_str =array('&',' ','&quot;','&#39;','&lt;','&gt;',"   &nbsp;  &nbsp;",""," &nbsp; ","<br>","<br />");
  3.     $rep_str = array('&amp;','&nbsp;','"',"'","<",">","\t","\r","   ","\n","\n");
  4.     if(0==$direct)
  5.     {$msg=str_replace($or_str,$rep_str,$msg);}
  6.     else
  7.      {$msg = str_replace($rep_str,$or_str,$msg);}
  8.      return $msg; 
  9. }
复制代码
3.计算字符串长度(汉字按两字符算)
  1. function str_len($str) 

  2.     $length = strlen(preg_replace('/[\x00-\x7F]/', '', $str)); 
  3.     if ($length) 
  4.     { 
  5.         return strlen($str) - $length + intval($length / 3) * 2; 
  6.     } 
  7.     else 
  8.     { 
  9.         return strlen($str); 
  10.     } 
  11. }
复制代码
4.phpcms加解密函数
  1. function phpcms_encode($txt, $key) 

  2.     srand((double)microtime() * 1000000); 
  3.     $encrypt_key = md5(rand(0, 32000)); 
  4.     $ctr = 0; 
  5.     $tmp = ''; 
  6.     for($i = 0;$i < strlen($txt); $i++) 
  7.     { 
  8.         $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; 
  9.         $tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]); 
  10.     } 
  11.     return base64_encode(phpcms_key($tmp, $key)); 

  12. function phpcms_decode($txt, $key) 

  13.     $txt = phpcms_key(base64_decode($txt), $key); 
  14.     $tmp = ''; 
  15.     for ($i = 0;$i < strlen($txt); $i++) 
  16.     { 
  17.         $md5 = $txt[$i]; 
  18.         $tmp .= $txt[++$i] ^ $md5; 
  19.     } 
  20.     return $tmp; 

  21. function phpcms_key($txt, $encrypt_key) 

  22.     $encrypt_key = md5($encrypt_key); 
  23.     $ctr = 0; 
  24.     $tmp = ''; 
  25.     for($i = 0; $i < strlen($txt); $i++) 
  26.     { 
  27.         $ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; 
  28.         $tmp .= $txt[$i] ^ $encrypt_key[$ctr++]; 
  29.     } 
  30.     return $tmp; 
  31. }
复制代码
5.正则加亮关键字

  1. function highlight_words($str, $words, $color = '#FFFF00') {   
  2. if(is_array($words)) {   
  3.    foreach($words as $k => $word) {   
  4.      $pattern[$k] = "/\b($word)\b/is";   
  5.      $replace[$k] = '<font style="background-color:'.$color.';">\\1</font>';   
  6.    }   
  7. }   
  8. else {   
  9.    $pattern = "/\b($words)\b/is";   
  10.    $replace = '<font style="background-color:'.$color.';">\\1</font>';   
  11. }   
  12.     
  13. return preg_replace($pattern,$replace,$str);   
  14. }   
复制代码
6.view中selected 和checked的懒人处理方法
  1. /*
  2. <select><option value='a' [code]=select($a,'a')
复制代码
></option></select> 
*/
function select($a,$b){ 
    if($a==$b){ 
        return "selected"; 
    }else{ 
        return ""; 
    } 

function radio($a,$b){ 
    if($a==$b){ 
        return "checked"; 
    }else{ 
        return ""; 
    } 

[/code]