php中截取字符串支持utf-8


Posted in PHP onJanuary 18, 2007

截取字符串
<?php
$string="2006年4月我又长大了一岁!";
echo substr($string,1)."..."; 
 //截取字符串 
function SubstrGB($in,$num)
{
 $pos=0;
 $out="";
 while($pos<strlen($in))
 {
  $c=substr($in,$pos,1);
  if($c=="\n") break;
  if(ord($c)>128)
  {
   $out.=$c;
   $pos++;
   $c=substr($in,$pos,1);
   $out.=$c;
  }
  else
  {
   $out.=$c;
  }
  $pos++;
  if($pos>=$num) break;
 }
        return $out;

  echo SubstrGB($string,8) ;
 ?> 
<?php
/***************************************************************************
 *            cut_string.php
 *        ------------------------------
 *    Date        : Jul 16, 2005
 *    Copyright    : none
 *    Mail        : 
 *
 *    作用:截取中文字符.
 *
 *
 ***************************************************************************/
function cut_str($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;
    }
}
    echo "<br>".cut_str($string,8,$start=0,$code='sdf') ;
?> 

PHP 相关文章推荐
在数据量大(超过10万)的情况下
Jan 15 PHP
php的urlencode()URL编码函数浅析
Aug 09 PHP
PHP下使用CURL方式POST数据至API接口的代码
Feb 14 PHP
解析php中eclipse 用空格替换 tab键
Jun 24 PHP
PHP与javascript实现变量交互的示例代码
Jul 23 PHP
php中的观察者模式简单实例
Jan 20 PHP
使用 PHPStorm 开发 Laravel
Mar 24 PHP
php+MySql实现登录系统与输出浏览者信息功能
Jul 01 PHP
Yii2验证器(Validator)用法分析
Jul 23 PHP
Laravel timestamps 设置为unix时间戳的方法
Oct 11 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 PHP
php的lavarel框架中join和orWhere的用法
Dec 28 PHP
php中的登陆login
Jan 18 #PHP
php中的时间显示
Jan 18 #PHP
解决phpmyadmin中文乱码问题。。。
Jan 18 #PHP
php批量删除数据
Jan 18 #PHP
mysql 的 like 问题,超强毕杀记!!!
Jan 18 #PHP
一个更简单的无限级分类菜单代码
Jan 16 #PHP
解决中英文字符串长度问题函数
Jan 16 #PHP
You might like
PHP下操作Linux消息队列完成进程间通信的方法
2010/07/24 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
老鱼 浅谈javascript面向对象编程
2010/03/04 Javascript
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
JQuery工具函数汇总
2015/06/15 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
基于jQuery+PHP+Mysql实现在线拍照和在线浏览照片
2015/09/06 Javascript
九种原生js动画效果
2015/11/11 Javascript
基于jQuery日历插件制作日历
2016/03/11 Javascript
JavaScript禁止复制与粘贴的实现代码
2016/05/16 Javascript
BootStrop前端框架入门教程详解
2016/12/25 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
JS之if语句对接事件动作逻辑(详解)
2017/06/28 Javascript
js+html5实现页面可刷新的倒计时效果
2017/07/15 Javascript
安装vue-cli的简易过程
2018/05/22 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
Vue源码探究之虚拟节点的实现
2019/04/17 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
Python实现子类调用父类的方法
2014/11/10 Python
以一个投票程序的实例来讲解Python的Django框架使用
2016/02/18 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
python按照多个条件排序的方法
2019/02/08 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
文职个人求职信范文
2013/09/23 职场文书
商场经理竞聘演讲稿
2014/01/01 职场文书
铲车司机岗位职责
2014/03/15 职场文书
初婚未育证明样本
2015/06/18 职场文书