解决PHP中substr产生的乱码,支持GB2312和UTF8两种编
时间:2014-05-27 23:51来源:未知 作者:最模板zuimoban 点击:
次
01 function jq_str( $title , $length ) 02 { 03 $encode = GB2312 ; //这里是文件使用的编码方式 这里只做GB2312和UTF8编码,根据系统使用的编码自行修改 04 if ( $encode == GB2312 ) 05 { 06 if ( strlen ( $title ) $length ) 07
01 |
function jq_str( $title , $length ) |
06 |
if ( strlen ( $title )> $length ) |
09 |
for ( $i =0; $i < $length ; $i ++) |
10 |
if (ord( $title [ $i ])> 128) $temp ++; |
12 |
$title = substr ( $title ,0, $length ). "..." ; |
14 |
$title = substr ( $title ,0, $length +1). "..." ; |
18 |
else if ( $encode == "utf-8" ) |
20 |
$tmpTitle = preg_replace( '#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,0}' . |
21 |
'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,' . $length . '}).*#s' , '$1' , $title ); |
22 |
if ( strlen ( $title )> $length ) |
函数其中的$encode变量可以修改为 GB2312和 utf-8两种,我只在这两种编码方式下进行了测试,如果是GBK编码用GB2312也应该可以,不过我没测试。
(责任编辑:最模板) |
------分隔线----------------------------