文档章节

php 超长用省略号代替

bengozhong
 bengozhong
发布于 2016/04/13 15:13
字数 183
阅读 237
收藏 0

码上生花,ECharts 作品展示赛正式启动!>>>

/*
     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');

© 著作权归作者所有

上一篇: js 模仿 F5
bengozhong
粉丝 22
博文 566
码字总数 595029
作品 0
深圳
技术主管
私信 提问
加载中
请先登录后再评论。
Android ellipsize的小问题

使用TextView的时候,需要长度过长自动显示省略号,android里有原生的支持,定义如下: 一看确实可以使用,但仔细观察,发现在省略号…的后面有一个方框,类似于出现乱码那种字符,这是为什么...

紫色阴影
2012/11/15
0
0
用CSS实现超长字段用省略号表示的方法

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

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

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

jamesjoshuasss
2018/07/03
0
0
[每日一问] 来点省略

[每日一问] 来点省略 项目经理永日接到一个需求,需要完成以下效果:文字超长部分显示省略号。

xylitol_lin
2015/06/29
7
2
CSS样式-文字在一行内显示不换行,超出部分用省略号(white-space、overflow、text-overflow、word-wrap、word-break)

样例: 1 <p style="width: 100px; height: 50px; border: 1px solid blue; white-space: nowrap; overflow: hidden; text-overflow: ellipsis">2 例如这样的一行字比较多,一行是显示不了的......

osc_o18rkfva
2018/02/22
2
0

没有更多内容

加载失败,请刷新页面

加载更多

硬核揭露:350美元的反5G量子设备,竟只是128M的U盘

   “5G 信号一传播,正在飞的鸟儿立刻掉地上死了。”    “5G 基站会致癌,还会提升自杀率,甚至能传播新冠病毒。”    这些耸人听闻的言论,是 5G 技术阴谋论宣扬者经常挂在嘴边的话...

osc_91g5cdgs
9分钟前
10
0
微服务海量日志监控平台

前面几章蜻蜓点水的介绍了elasticsearch、apm相关的内容。本片主要介绍怎么使用ELK Stack帮助我们打造一个支撑起日产TB级的日志监控系统 背景 在企业级的微服务环境中,跑着成百上千个服务都...

osc_sejhgcp0
11分钟前
15
0
如何监控 Linux 服务器状态?

Linux 服务器我们天天打交道,特别是 Linux 工程师更是如此。为了保证服务器的安全与性能,我们经常需要监控服务器的一些状态,以保证工作能顺利开展。 本文介绍的几个命令,不仅仅适用于服务...

osc_3ytpwpyb
12分钟前
10
0
在已经编译安装好php7场景下 安装php openssl扩展

在已经编译安装好php7场景下 安装php openssl扩展 yum install openssl-devel #要安装这个,否则报错configure: error: Cannot find OpenSSL's <evp.h> centos cd /root/php7/php-7.2.31/ext......

osc_4isxawz4
13分钟前
23
0
在已经编译安装好php7场景下安装curl扩展

在已经编译安装好php7场景下安装curl扩展 cd /root/php7/php-7.2.31/ext/curl #从php官网下载php源码安装包 /usr/local/php746/bin/phpize #已经安装好的phpize的路径 yum install libcurl-...

osc_h6vn1kqs
15分钟前
23
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部