文档章节

php 超长用省略号代替

bengozhong
 bengozhong
发布于 2016/04/13 15:13
字数 183
阅读 15
收藏 0
/*
     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;
        }

    }


echo cut_str($sting,6,0,'UTF-8');

© 著作权归作者所有

共有 人打赏支持
bengozhong
粉丝 17
博文 446
码字总数 452276
作品 0
深圳
程序员
用CSS实现超长字段用省略号表示的方法

用CSS实现超长字段用省略号表示的方法 html实例代码如下: <div style="width:150px;overflow:hidden; white-space:nowrap; text-overflow:ellipsis"> 用CSS实现超长字段被省略的方法</div> ......

吕坤
2014/11/06
0
0
关于Python pandas模块输出每行中间省略号问题

关于Python数据分析中pandas模块在输出的时候,每行的中间会有省略号出现,和行与行中间的省略号....问题,其他的站点(百度)中的大部分都是瞎写,根本就是复制黏贴以前的版本,你要想知道其...

jamesjoshuasss
07/03
0
0
oschina对超长标题加省略号是怎么实现的?

请问oschina对一些超过长度的标题加了省略号...显示,如图 这个是怎么实现的,用的是css,jquery?还是服务器端事先截取好的,谢谢!

FoxHu
2012/03/19
360
6
十五分钟--分页逻辑--包学包会

分页组件的构成 废话不多说,我们先来分析一下一个分页组件结构,实际这个分析很关键,比真正的逻辑判断重要的多,下面先看图: 我们可以看到此分页组件: 所以这个分页组件一共是由 2 + 2 ...

就那
09/25
0
0
MathType中能打出几种不同的省略号

省略号是一个使用很广泛的符号,这个符号在很多方面都有应用,它一般表示列举的意思。文科方面的省略号跟数理中的省略号使用时有一些区别,前者是6个点,而后者只要3个点。当在用MathType数学...

学术研究软件
2016/11/03
24
0

没有更多内容

加载失败,请刷新页面

加载更多

Synchronize和ReentrantLock区别

目录介绍 1.Synchronize和ReentrantLock区别 1.1 相似点 1.2 区别 1.3 什么是线程安全问题?如何理解 1.4 线程安全需要保证几个基本特性 2.Synchronize在编译时如何实现锁机制 3.ReentrantL...

潇湘剑雨
25分钟前
1
0
ModelMap的用法

ModelMap的用法 ModelMap对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap对象中即可,他的作用类似于request对象的setAttribute方法的作用,用...

DemonsI
34分钟前
1
0
Hibernate环境搭建过程

B站Hibernate教学视频原网址 下边代码是照着视频一步步写出来的。由于没有视频中老师所写的文件。所以xml文件中的dtd约束是直接在网上搜到复制来的。 和视频中一样,用的MySQL数据库。数据库...

BG2KNT
37分钟前
0
0
Fragment之软件主页面制作

Fragment是一种Android 3.0后引入的API ,它出现的初衷是为了适应平板电脑的大屏幕,手机界面小巧可放下的内容有限,而平板宽阔可以放下手机上的两三个界面一起合起来展示,多个Fragment可以组...

鱼想吃肉
43分钟前
1
0
关于网站恶意注册会员

网站发生恶意注册会员,有图形验证码 ,和短信验证码 但是还是有大量恶意注册: session 和 cookie都是可以随便伪造的。 验证码有打码平台。 短信验证有短信验证平台。 IP限制有虚拟拨号/VP...

妖尾巴
58分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部