thinkphp3.2.3在框架截取文字
Common/Common/function.php加入以下代码
/**
*
* 字符截取
* @param string $string
* @param int $start
* @param int $length
* @param string $charset
* @param string $dot
*
* @return string
*/
function str_cut(&$string, $start, $length, $charset = "utf-8", $dot = '...') {
if(function_exists('mb_substr')) {
if(mb_strlen($string, $charset) > $length) {
return mb_substr ($string, $start, $length, $charset) . $dot;
}
return mb_substr ($string, $start, $length, $charset); }else if(function_exists('iconv_substr')) {
if(iconv_strlen($string, $charset) > $length) {
return iconv_substr($string, $start, $length, $charset) . $dot;
}
return iconv_substr($string, $start, $length, $charset);
} $charset = strtolower($charset);
switch ($charset) {
case "utf-8" :
preg_match_all("/[\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]/", $string, $ar);
if(func_num_args() >= 3) {
if (count($ar[0]) > $length) {
return join("", array_slice($ar[0], $start, $length)) . $dot;
}
return join("", array_slice($ar[0], $start, $length));
} else {
return join("", array_slice($ar[0], $start));
}
break;
default:
$start = $start * 2;
$length = $length * 2;
$strlen = strlen($string);
for ( $i = 0; $i < $strlen; $i++ ) {
if ( $i >= $start && $i < ( $start + $length ) ) {
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 .= $dot; return $tmpstr;
}
}
view下
<volist name='' item ='v'>
{$v.content|msubstr=5,5,'utf-8',false}
</volist>
/**
msubstr($str, $start=0, $length, $charset=”utf-8″, $suffix=true)
$str:要截取的字符串
$start=0:开始位置,默认从0开始
$length:截取长度
$charset=”utf-8″:字符编码,默认UTF-8
$suffix=true:是否在截取后的字符后面显示省略号,默认true显示,false为不显示
**/
thinkphp3.2.3在框架截取文字的更多相关文章
- php如何清除html格式并去除文字中的空格然后截取文字
PHP如何清除html格式并去除文字中的空格然后截取文字,详细分享一下处理方法(顺便对PHP清除HTML字符串的函数做了一个小结): htmlspecialchars 将特殊字元转成 HTML格式语法 ...
- ThinkPHP3.2.3版本框架could not find driver错误
ThinkPHP3.2.3版本框架could not find driver错误 在更新ThinkPHP框架 3.2.3 时出现错误 解决方法如下: 修改php.ini文件 extension=php ...
- 迁移笔记:php截取文字的方法
php内置函数 1. iconv iconv_set_encoding('internal_encoding', 'UTF-8'); $str; //字符串的声明 $num=iconv_strlen( ...
- jQuery自动截取文字长度,超过部分
<html> <head> <meta charset="utf-8"> <script src="js/jqu ...
- android框架---->下沉文字Titanic的使用
Titanic is a simple illusion obtained by applying an animated translation on the TextView TextPaint ...
- JS实现文字截取(雾)
今天在跳板群那里看到一个神奇的样式,效果: 感觉十分神奇,因为一开始以为他是只有一个P元素包着文字然后最后一个自动截取文字,而且最后一行还可以提前截取???这怎么做到的,然后想了一下css怎么做,好像 ...
- 【OCR技术系列之四】基于深度学习的文字识别(3755个汉字)
上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建.用深度学习做文字识别,用的网络当然是CNN ...
- 【OCR技术系列之四】基于深度学习的文字识别
上一篇提到文字数据集的合成,现在我们手头上已经得到了3755个汉字(一级字库)的印刷体图像数据集,我们可以利用它们进行接下来的3755个汉字的识别系统的搭建.用深度学习做文字识别,用的网络当然是CNN ...
- PHP 用 mb_strimwidth() 截取文章摘要
按字符宽度获取 mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encod ...
随机推荐
- maven_spring mvc_mina_dome(实体,文件,批传)(spring mina 初学dome)
看我们群里经常有人在问mina心跳问题,虽然俺是菜鸟可是觉得挺简单的啊,就写了个dome,希望大家多多提意见. 俺做过一段时间网络协议.所以觉得挺简单的吧.哎呀,反正技术就那样了没啥难的. 废话不多说 ...
- 机器学习相关的Awesome系列
Index Awesome 备注 1 Awesome Machine Learning 机器学习资源大全中文版 2 Awesome Artificial Intelligence 人工智能 3 Awe ...
- 跨域请求ajax jsonp的使用解惑
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- C++自学计划
课程描述 课程名称:C++远征之起航篇&C++远征之离港篇 授课人姓名:james_yuan 课程链接地址 C++远征之起航篇 C++远征之离港篇 章节列表 选择理由 一开始在自己比较熟悉的网 ...
- OC基础--Xcode 模板修改和文档安装
修改项目模板 项目模板就是创建工程的时候选择的某一个条目, Xcode会根据选择的条目生成固定格式的项目 如何修改项目模板 找到Xcode, 右键"显示包内容" 打开"/ ...
- Linux学习 : 自己写bootloader
一.bootloader 目标:启动内核 基本功能: ①初始化硬件:关看门狗.设置时钟.设置SDRAM.初始化NAND FLASH ②image比较大需要重定位到SDRAM ②将内核从NAND FLA ...
- Ext JS 4 新特性2:配置项属性(config)之一
Ext JS 4 新特征2:配置项属性config 最新版本的Ext JS 4.2的另外一个伟大的新特征就是增加了configuration配置项属性,当我们在创建一个新类的时候,经常性的要设置某某属 ...
- x.2
某些原因,和女朋友分手了,难过 订的M18XR3居然提前了半个多月到货,开心 想想一个人的孤单,还是有点难过 转眼间人生已经过去小半,剩下的除去苟延残喘20年,也就不到20年时间蹦跶.都说人生如戏,既 ...
- i2c之at24c08驱动及应用程序
1-->修改板级文件arch/arm/mach-s3c2440/mach-mini2440.c 步骤: ->添加引用 #include <linux/i2c.h> ->添 ...
- Java集合运用技巧
需要唯一吗? 需要:Set 需要制定顺序吗? 需要:TreeSet 不需要:HashSet 但是想要一个和存储一致的顺序(有序):LinkedHashSet 不需要:List 需要频繁增删吗? 需要: ...