background image

$length

 = "27"; 

$append

 = true; 

echo

 sysSubStr(

$string

,

$length

,

$append

); 

// 输出 
// 简明现代魔法 —— 专...

?>
 
 
截取

GB2312 中文字符串:

 
 
复制代码

 代码如下:

<?php

//截取中文字符串
function

 mysubstr(

$str

$start

$len

) {

    

$tmpstr

 = "";

    

$strlen

 = 

$start

 + 

$len

;

    

for

(

$i

 = 0; 

$i

 < 

$strlen

$i

++) {

        

if

(ord(

substr

(

$str

$i

, 1)) > 0xa0) {

            

$tmpstr

 .= 

substr

(

$str

$i

, 2);

            

$i

++;

        

else

            

$tmpstr

 .= 

substr

(

$str

$i

, 1);

    

}

    

return

 

$tmpstr

;

}
?>
 
 
截取

utf8 编码的多字节字符串:

 
 
复制代码

 代码如下:

<?php

//截取 utf8 字符串
function

 utf8Substr(

$str

$from

$len

)

{

    

return

 preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.

$from

.'}'.

                       

'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.

$len

.'}).*#s',

                       

'$1',

$str

);

}
?>