实验室

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

本函数摘录自 BugFree,支持字母和gb2312或者utf-8混和字符串。

PHP:

 1 <?php 
 2 // 说明:摘录自 BugFree 的字符截取函数 
 3 // 整理:labs.cnblogs.com 
 4  
 5 /*
 6  * @package     BugFree 
 7  * @version     $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $ 
 8  * 
 9  * 
10  * Return part of a string(Enhance the function substr()) 
11  * 
12  * @author                  Chunsheng Wang <wwccss@263.net> 
13  * @param  string  $String  the string to cut. 
14  * @param  int     $Length  the length of returned string. 
15  * @param  booble  $Append  whether append "": false|true 
16  * @return string           the cutted string. 
17  */ 
18 function sysSubStr($String,$Length,$Append = false
19 
20     if (strlen($String<= $Length ) 
21     { 
22         return $String
23     } 
24     else 
25     { 
26         $I = 0
27         while ($I < $Length
28         { 
29             $StringTMP = substr($String,$I,1); 
30             if ( ord($StringTMP>=224 ) 
31             { 
32                 $StringTMP = substr($String,$I,3); 
33                 $I = $I + 3
34             } 
35             elseiford($StringTMP>=192 ) 
36             { 
37                 $StringTMP = substr($String,$I,2); 
38                 $I = $I + 2
39             } 
40             else 
41             { 
42                 $I = $I + 1
43             } 
44             $StringLast[] = $StringTMP
45         } 
46         $StringLast = implode("",$StringLast); 
47         if($Append
48         { 
49             $StringLast .= ""
50         } 
51         return $StringLast
52     } 
53 
54  
55 $String = "CodeBit.cn -- 简单、精彩、通用"
56 $Length = "18"
57 $Append = false
58 echo sysSubStr($String,$Length,$Append); 
59 ?>
posted on 2009-05-12 17:15  实验室  阅读(279)  评论(0)    收藏  举报