代码库
  • 首页
  • html模板
  • Jquery插件
  • 网站源码
  • 素材合集
  • 代码文章
  • 百宝箱
  • 网站建设500起 APP小程序独开
  • HTML模板全站下载388元
  • COMODO通配符SSL证书330元
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 广告位招租:515856299
  • 腾讯云主机 官方活动价再打8折

百宝箱

  • CSS压缩格式化

    CSS压缩

  • html格式化

    html格式化

  • 繁体字转换器

    繁体字转换

  • JSON检验

    JSON检验

  • MD5加密

    MD5加密

  • css3动画

    css3动画

热门素材

  • 1

    150套游戏技能特效序列帧透明PNG素材Q版烟雾冲击火焰技能素材

    150套游戏技能特效序列帧透明PNG素材Q版烟雾冲击火焰技能素材
  • 2

    手游人物角色游戏动画序列帧PNG卡通动漫素材

    手游人物角色游戏动画序列帧PNG卡通动漫素材
  • 3

    165套游戏美术资源素材像素风魔幻角色怪物角色序列帧

    165套游戏美术资源素材像素风魔幻角色怪物角色序列帧
  • 4

    693张PNG卡通风格手游鞋子盔甲技能游戏UI图标素材

    693张PNG卡通风格手游鞋子盔甲技能游戏UI图标素材
  • 5

    游戏美术素材格斗女剑士人物角色序列帧PNG技能特效

    游戏美术素材格斗女剑士人物角色序列帧PNG技能特效
  • 6

    500款花草绿篱人物汽车鸟太阳伞透明PNG设计素材

    500款花草绿篱人物汽车鸟太阳伞透明PNG设计素材
  • 7

    60套游戏特效序列帧PNG素材游戏技能特效PNG序列帧

    60套游戏特效序列帧PNG素材游戏技能特效PNG序列帧
  • 8

    80套游戏特效技能特效序列帧PNG素材

    80套游戏特效技能特效序列帧PNG素材
  • 9

    竹子平面立面分层植物素材剖面图效果图竹子高清透明PNG素材

    景观PS竹子平面立面分层植物素材剖面图效果图竹子高清透明PNG素材

php截取中文字符串函数大全

分类:PHP人气:2761
 截取GB2312中文字符串
< ?php
//截取中文字符串
function mysubstr($str, $start, $len) {
    $tmpstr = "";
    $strlen = $start + $len;
    for($i = 0; $i < $strlen; $i++) {
        if(ord(substr($str, $i, 1)) > 0xa0) {
            $tmpstr .= substr($str, $i, 2);
            $i++;
        } else
            $tmpstr .= substr($str, $i, 1);
    }
    return $tmpstr;
}
?>
截取utf8编码的多字节字符串
< ?php
//截取utf8字符串
function utf8Substr($str, $from, $len)
{
    return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'.
                       '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s',
                       '$1',$str);
}
?>
UTF-8、GB2312都支持的汉字截取函数
< ?php
/*
Utf-8、gb2312都支持的汉字截取函数
cut_str(字符串, 截取长度, 开始长度, 编码);
编码默认为 utf-8
开始长度默认为 0
*/
 
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;
    }
}
 
$str = "abcd需要截取的字符串";
echo cut_str($str, 8, 0, 'gb2312');
?>

BugFree 的字符截取函数
< ?php
/**
 * @package     BugFree
 * @version     $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $
 *
 *
 * Return part of a string(Enhance the function substr())
 *
 * @author                  Chunsheng Wang <wwccss@263.net>
 * @param string  $String  the string to cut.
 * @param int     $Length  the length of returned string.
 * @param booble  $Append  whether append "...": false|true
 * @return string           the cutted string.
 */
function sysSubStr($String,$Length,$Append = false)
{
    if (strlen($String) < = $Length )
    {
        return $String;
    }
    else
    {
        $I = 0;
        while ($I < $Length)
        {
            $StringTMP = substr($String,$I,1);
            if ( ord($StringTMP) >=224 )
            {
                $StringTMP = substr($String,$I,3);
                $I = $I + 3;
            }
            elseif( ord($StringTMP) >=192 )
            {
                $StringTMP = substr($String,$I,2);
                $I = $I + 2;
            }
            else
            {
                $I = $I + 1;
            }
            $StringLast[] = $StringTMP;
        }
        $StringLast = implode("",$StringLast);
        if($Append)
        {
            $StringLast .= "...";
        }
        return $StringLast;
    }
}
 
$String = "17test.info 走在中国自动化测试的前沿";
$Length = "18";
$Append = false;
echo sysSubStr($String,$Length,$Append);
?>
标签:php截取中文字符串函数大全
PREVIOUS:php curl通过代理获取数据
NEXT:dedecms首页调用封面页内容的方法
  • 日志
  • while循环
  • 请求
  • https
  • 定时
  • 中文字符串
  • strstr
  • 转农历
  • phpexcel
  • php数组合并去重
  • Excel
  • 短网址
  • 多图片
  • 防止
  • strpos
  • 邮件
  • PHP分割字符串
  • 生成图片
  • 逗号分割
  • url
  • intval
  • 冒泡排序
  • PDO
  • CURL
  • 升级
  • PHP函数
  • 封装
  • UTF8
  • 标签
  • php_http_parser
  • substr
  • 数据库
  • php排序
  • PHP
  • 时间戳转
  • 获取远程
  • sqlite_num_fields
  • 发送
  • 重复值
  • 判断手机
  • zip
  • 随机颜色
  • Token
  • 布尔类型
  • 压缩图片
  • sqlite_fetch_array
  • 设置密码
  • url地址
  • 截取中文
  • PHPMailer
  • 使用技巧
  • 使用详解
  • array_diff()
  • 下载远程图片
  • 图片
  • 年月日

栏目导航

  • PHP
  • Jquery
  • DivCss
  • Mysql
  • 织梦Cms
  • linux

热门推荐

  • 1php格式化数字
  • 2php多中重定向网页跳转
  • 3php对比两个指定的日期
  • 4php获取今天、昨天、明天的日期
  • 5php获取上一页面url地址
  • 6php字符串查找strstr strpos
  • 7php发https请求
  • 8php定时执行取消定时
  • 9php双引号中的变量
  • 10php urlencode和urldecode
  • 11PHP随机生成起名用户信息
  • 12php中的变量数据类型总结
  • 13php调整图片尺寸
  • 14php 将网址字符串转换成超级链接
  • 15php解压缩 Zip 文件
© 2016-2021 代码库关于我们网站导航网站地图皖ICP备14004357号
代码库