一、字符串截取
/**
* 字符串截取
* @param unknown $str
* @param unknown $length
* @param string $end_with
* @return unknown|string
*/
function utf8_substr_ifneed($str, $length, $end_with='…')
{
if( strlen($str) <= $length )
return $str;
//正则
$re_utf8 = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
preg_match_all($re_utf8, $str, $match);
$new_str = "";
$now_length = 0;
$max_length = $length - (strlen($end_with)-1);
foreach($match[0] as $char)
{
$now_length += (strlen($char)>1) ? 2 :1 ;//英文字符长度,汉字算两个
if( $now_length>$max_length ) break;
$new_str .= $char;
}
return $new_str.$end_with;
}
- 环境搭建
- centos6.5 lnmp环境搭建
- svn环境搭建
- centos lamp安装配置
- mysql
- mysql常用命令
- mysql技术内幕
- 1.1mysql体系结构
- 1.2mysql存储引擎
- 1.3mysql连接
- linux
- linux-常用命令
- linux下vim命令
- 第三方平台开发
- 微信开发之旅
- php
- php框架
- lavarel常用命令
- thinkPhp常用命令
- yii2.0.8
- 安装
- yii常用
- yii配置
- yii常用2
- php源码积累
- php字符串截取
- php图片处理(gd)
- 二维数组保持索引排序(高低)
- 获取一个月首尾天数
- 时间函数
- php内置函数
- html
- js
- 基本命令
- js案例
- js去空格
- css
- 基本样式
- 案例
- ul li 横向水平居中自适应案例
- 固定底部导航栏并自适应
- 购物车带角标
- display的兼容解决
- 前端框架
- boostrap
- 常用类
- git
- 上传项目到远程仓库GitHub