中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > Web开发 > PHP > PHP综合
截取指定字数的字符串(中文有效)
作者:未知 时间:2005-09-13 19:40 出处:ChinaUnix.net 责编:chinaitpower
              摘要:截取指定字数的字符串(中文有效)

function csubStr($str,$start,$len) 

$strlen=strlen($str); 
$clen=0; 

for($i=0;$i<$strlen;$i++,$clen++) 

if ($clen>=$start+$len) 
break; 

if(ord(substr($str,$i,1))>0xa0) 

if ($clen>=$start) 
$tmpstr.=substr($str,$i,2); 
$i++; 

else 

if ($clen>=$start) 
$tmpstr.=substr($str,$i,1); 

}

return $tmpstr;
}

例子:$str = csubStr("大家好,截取指定字数的字符串,886!",0,10);
通常可以用来显示论坛主题列表,比如配合下面这个函数:

function showShort($str,$len)
{
if($len < (strlen($str)/2))
{
$tempStr = csubStr($str,0,$len);
$tempStr .= "...";
}
else
{
$tempStr =$str;
}

return $tempStr;
}

主题超过指定字数,就截取,然后加上省略号。否则显示全部字数。

 eclipse 回复于:2001-11-24 21:39:31
[b][color=red]没多大用处吧?[/color][/b]

 bigmouse 回复于:2001-11-29 12:02:54
还是有用处的,如果不判断中文字节就截取的话,当恰好截取到汉字的中间就会出现乱码,毕竟汉字是双字节的,要特殊判断一下。

 evil 回复于:2002-11-12 11:42:07
mb_substr就能搞定

 wubai 回复于:2002-11-12 11:49:03


还是看看这个吧~~~~~


http://www.chinaunix.net/cgi-bin/bbs/topic.cgi?forum=15&topic=351&show=0

 windlike 回复于:2003-05-08 15:13:29
好呀
这个贴子发起的不错呀
我立刻就可以用到了
真是太棒了
感谢诸位

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有