解决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也应该可以,不过我没测试。
(责任编辑:最模板) |
------分隔线----------------------------