UTF8汉字截取!!
时间:2006-09-29
来源:互联网
PHP代码:
function CutStr($string, $sublen, $start = 0, $code = 'UTF-8'){
if($code == 'UTF-8')
{
$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
preg_match_all($pa, $string, $t_string);
if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";
return join('', array_slice($t_string[0], $start, $sublen));
}
else
{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = '';
for($i=0; $i<$strlen; $i++)
{
if($i>=$start && $i<($start+$sublen))
{
if(ord(substr($string, $i, 1))>129) $tmpstr.= substr($string, $i, 2);
else $tmpstr.= substr($string, $i, 1);
}
if(ord(substr($string, $i, 1))>129) $i++;
}
if(strlen($tmpstr)<$strlen ) $tmpstr.= "...";
return $tmpstr;
}
}
作者: 帅的不能再输啦 发布时间: 2006-09-29
顶上去
作者: fengyun 发布时间: 2006-09-29
作者: leo 发布时间: 2006-09-29
作者: visam 发布时间: 2006-09-30
引用:
原帖由 leo 于 2006-9-29 13:23 发表无须如此麻烦,用 mb_substr() 即可
作者: alex 发布时间: 2006-10-02
作者: MySQL 发布时间: 2006-10-02
作者: CFC4N 发布时间: 2006-10-03
支持..................................
作者: fnet 发布时间: 2006-10-03
另有一个问题:我用iconv()将UTF-8的网页转成GB2312时,网页的后半部分出错;例如
PHP代码:
<?php
$HTML=file_get_contents('http://www.ebay.com.cn');
$HTML=urldecode(iconv("UTF-8","GB2312",$HTML));
echo $HTML;
?>
很好的在不同的编码间转换?有没有什么好的办法解决这个问题呢?谢谢
[ 本帖最后由 forest 于 2007-11-1 16:14 编辑 ]
作者: doodler 发布时间: 2006-10-05
[ 本帖最后由 forest 于 2007-11-1 16:15 编辑 ]
作者: forest 发布时间: 2007-11-01
作者: analyzer 发布时间: 2007-11-01
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28