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编写PDF文档生成器
Oct 09 PHP
php auth_http类库进行身份效验
Mar 19 PHP
一个PHP的String类代码
Apr 20 PHP
PHP中冒号、endif、endwhile、endfor使用介绍
Apr 28 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
PHP变量内存分配问题记录整理
Nov 27 PHP
php创建、获取cookie及基础要点分析
Jan 26 PHP
php列出mysql表所有行和列的方法
Mar 13 PHP
PHP之正则表达式捕获组与非捕获组(详解)
Jul 29 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
May 27 PHP
PHP使用curl函数发送Post请求的注意事项
Nov 26 PHP
laravel框架中表单请求类型和CSRF防护实例分析
Nov 23 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的memory_limit限制的方法分享
2012/02/21 PHP
解析yahoo邮件用phpmailer发送的实例
2013/06/24 PHP
phpExcel中文帮助手册之常用功能指南
2014/08/18 PHP
php支付宝在线支付接口开发教程
2016/09/19 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
PHP数据库操作二:memcache用法分析
2017/08/16 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
javascript 操作Word和Excel的实现代码
2009/10/26 Javascript
文本框只能选择数据到文本框禁止手动输入
2013/11/22 Javascript
JavaScript 基本概念
2015/01/20 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
JS实现状态栏跑马灯文字效果代码
2015/10/24 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
微信小程序-消息提示框实例
2016/11/24 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
通过Nodejs搭建网站简单实现注册登录流程
2019/06/14 NodeJs
vue 组件中使用 transition 和 transition-group实现过渡动画
2019/07/09 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
2020/01/12 Javascript
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
Python使用MD5加密字符串示例
2014/08/22 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
Python log模块logging记录打印用法解析
2020/01/20 Python
Python while true实现爬虫定时任务
2020/06/08 Python
PyQT5速成教程之Qt Designer介绍与入门
2020/11/02 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
俄罗斯皮肤健康中心:Pharmacosmetica.ru
2020/02/22 全球购物
民主生活会汇报材料
2014/12/15 职场文书
回复函范文
2015/07/14 职场文书