background image

字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到。虽然不难,
但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基
本的需求了
 
代码如下

:

<?php

function

 sysSubStr(

$string

,

$length

,

$append

 = false) 

    

if

(

strlen

(

$string

) <= 

$length

 ) 

    

        

return

 

$string

    

    

else

 

    

        

$i

 = 0; 

        

while

 (

$i

 < 

$length

        

            

$stringTMP

 = 

substr

(

$string

,

$i

,1); 

            

if

 ( ord(

$stringTMP

) >=224 ) 

            

                

$stringTMP

 = 

substr

(

$string

,

$i

,3); 

                

$i

 = 

$i

 + 3; 

            

            

elseif

( ord(

$stringTMP

) >=192 ) 

            

                

$stringTMP

 = 

substr

(

$string

,

$i

,2); 

                

$i

 = 

$i

 + 2; 

            

            

else

 

            

                

$i

 = 

$i

 + 1; 

            

            

$stringLast

[] = 

$stringTMP

        

        

$stringLast

 = implode("",

$stringLast

); 

        

if

(

$append

        

            

$stringLast

 .= "..."; 

        

        

return

 

$stringLast

    


 

$string

 = "简明现代魔法 —— 专注于互联网主流的各种技术";