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 相关文章推荐
PHP新手上路(三)
Oct 09 PHP
理解PHP5中static和const关键字的区别
Mar 19 PHP
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Jan 12 PHP
PHP函数学习之PHP函数点评
Jul 05 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
Jun 28 PHP
php实现简单文件下载的方法
Jan 30 PHP
迁移PHP版本到PHP7
Feb 06 PHP
学习php设计模式 php实现享元模式(flyweight)
Dec 07 PHP
PHPCMS V9 添加二级导航的思路详解
Oct 20 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
php 数组元素快速去重
May 05 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
Aug 03 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基础知识:类与对象(1)
2006/12/13 PHP
php 正则表达式小结
2009/08/31 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
PHP计算一年多少个星期和每周的开始和结束日期
2014/07/01 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
JavaScript中的Array对象使用说明
2011/01/17 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
jQuery表格插件ParamQuery简单使用方法示例
2013/12/05 Javascript
js打开新窗口方法整理
2014/02/17 Javascript
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
浅析BootStrap Treeview的简单使用
2016/10/12 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
Django跨域请求CSRF的方法示例
2018/11/11 Python
Django框架组成结构、基本概念与文件功能分析
2019/07/30 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
Python3 ffmpeg视频转换工具使用方法解析
2020/08/10 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
英国领先的狗和宠物美容专家:Christies Direct
2017/04/03 全球购物
加拿大领先的冒险和户外零售商:Atmosphere
2017/12/19 全球购物
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
道路交通事故人身损害赔偿协议书
2014/11/19 职场文书
2019年教师入党申请书
2019/06/27 职场文书
浅析Python中的随机采样和概率分布
2021/12/06 Python