首页 » 建站技术 » PHP 技术 » 浏览内容

截取指定长度的文字(包含对汉字的处理)


2006-10-15 21:34:02 6,537 0 发表评论 字体: 作者:C.K.
标签: php函数

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

一般来说,要截取的变量来自Mysql,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点.

本程序实现的功能:截取指定长度汉字而不会出现以”?>”结尾,超出部分以”…”代替

<?PHP
  • $str="这个字符比较长SO LONG";
  • $Short_Str=showShort($str,6);//截取前面4个汉字,结果为:这个字符...
  • Echo  "$Short_Str";
  • /*
  • 截取指定长度的文字(包含对汉字的处理)

    可以正确地使用于 ANSI 编码的文件中,不能正确使用于UTF-8 的文件中

    一般来说,要截取的变量来自Mysql,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点.

    本程序实现的功能:截取指定长度汉字而不会出现以”?>”结尾,超出部分以”…”代替

    */
  • 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;  
  • }  
  • Function showShort($str,$len)  
  • {  
  • $tempstr = csubstr($str,0,$len);  
  • if ($str<>$tempstr)  
  • $tempstr .= "..."; //要以什么结尾,修改这里就可以.
  • return $tempstr;  
  • }
  • ?>
  • 另一个函数,功能以上面的相同

    <?php
  • function str_cut($str_cut,$length){
  •     if(strlen($str_cut) > $length){   //处理标题,太长用……表示
  •        for($i=0; $i < $length; $i++){
  •            if (ord($str_cut[$i]) > 128) $i++;  
  •        }
  •        $str_cut = substr($str_cut,0,$i)."....";  
  •    }
  •    return $str_cut;
  • }
  • $content="艰苦电加fgfgf工搭街jhkjlk坊扛大;l';l个艰苦法'fdfd国家igkdjgkfdg…………………………";
  • $content=str_cut($content,$length="5");
  • echo $content;  
  • ?>

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今5066 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2018-8-31 17:57:04
    • 您是本站第 14166686 位访客

    广告区 Guǎng Gào