动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   Cgi/Perl → 阅读文章

 中英文混合字符截取

作者来源: 
阅读 数 638 人次 , 2006-3-29 4:05:00 


用perl截取字符串,字符串中含有中文、英文、数字和各种符号,也包含中文标点符号,截取一定数量的字符,并且截取之后中文是完整的,不会出现乱码或问号。
sub makelen($$)
  {
   my($sstr,$slen)=@_;
   my $makelen,$parity;
   $mslen=length($sstr);
   if($mslen>$slen)
  {
  for($mn=0;$mn<$slen;$mn++) #在要求的长度内
  {
   $ss=substr($sstr,$mn,1);
   if(ord($ss)<127) #为英文
  {
  $parity+=1;
  }
  }
if($parity%2==1) #含英文长度为奇数
  {
   if($slen%2==1) #如果所要求的长度也为奇数
  {
   $tmpstr=substr($sstr,0,$slen);
  }
  else #所要求的长度为偶数
  {
   $tmpstr=substr($sstr,0,$slen-1);
  }
  }
  else #含英文长度为偶数或者为0,0也为偶数
  {
   if($slen%2==1) #如果所要求的长度为奇数
  {
   $tmpstr=substr($sstr,0,$slen-1);
  }
  else #所要求的长度为偶数
  {
   $tmpstr=substr($sstr,0,$slen);
  }
  }
  $makelen=$tmpstr;
  }
   else
  {
  $makelen=$sstr;
  }
   return $makelen;
  }

 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:在Perl中使用sendmail发送MIME邮件
· 下一篇:打造属于自己的可视Web HTML编辑器
· perl的进程管理简介
· 申请14个CGI程序服务
· perl实例分析教程之八
· CGI应用程序开发基础
· 使用PERL脚本生成PDF输出


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077