庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>WEB开发>CGI/perl>应用技巧>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

中英文混合字符截取

 作者:本站收集   日期:2005-3-16
字号选择〖 〗/ 双击滚屏 单击停止   


    用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;
  }

上一篇:访问标准CGI变量    下一篇:在Perl中使用sendmail发送MIME邮件  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-3-16
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿