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 相关文章推荐
WML,Apache,和 PHP 的介绍
Oct 09 PHP
php之字符串变相相减的代码
Mar 19 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
PHP判断一个字符串是否是回文字符串的方法
Mar 23 PHP
php实现的用户查询类实例
Jun 18 PHP
thinkPHP中多维数组的遍历方法
Jan 09 PHP
Yii框架连接mongodb数据库的代码
Jul 27 PHP
PHP7新增运算符用法实例分析
Sep 26 PHP
Yii框架实现图片上传的方法详解
May 20 PHP
php实现简单的权限管理的示例代码
Aug 25 PHP
详解php中curl返回false的解决办法
Mar 18 PHP
PHP使用反向Ajax技术实现在线客服系统详解
Jul 01 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中的内存管理问题
2011/08/31 PHP
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
php检索或者复制远程文件的方法
2015/03/13 PHP
基于jQuery的弹出框插件
2012/03/18 Javascript
js中apply方法的使用详细解析
2013/11/04 Javascript
jQuery Mobile的loading对话框显示/隐藏方法分享
2013/11/26 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
解析javascript瀑布流原理实现图片滚动加载
2016/03/10 Javascript
js实现select选择框效果及美化
2016/08/19 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
2016/11/28 Javascript
有趣的bootstrap走动进度条
2016/12/01 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
javascript动态创建对象的属性详解
2018/11/07 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
Python实现excel转sqlite的方法
2017/07/17 Python
在python中安装basemap的教程
2018/09/20 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
python实现输入的数据在地图上生成热力图效果
2019/12/06 Python
为什么说python适合写爬虫
2020/06/11 Python
Python wordcloud库安装方法总结
2020/12/31 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
金讯Java笔试题目
2013/06/18 面试题
移动通信行业实习自我鉴定
2013/09/28 职场文书
欠条样本
2015/07/03 职场文书
2019公司管理制度
2019/04/19 职场文书
vue3使用vuedraggable实现拖拽功能
2022/04/06 Vue.js