文档章节

php截取UTF-8字符

zy643208
 zy643208
发布于 2014/11/17 10:59
字数 95
阅读 8
收藏 0
点赞 0
评论 0

<?php


class String

{

    public static function truncate_utf8_string($string, $length, $etc = '...')

    {

        $result = '';

        $string = html_entity_decode(trim(strip_tags($string)), ENT_QUOTES, 'UTF-8');

        $strlen = strlen($string);

        for ($i = 0; (($i < $strlen) && ($length > 0)); $i++) {

            if ($number = strpos(str_pad(decbin(ord(substr($string, $i, 1))), 8, '0', STR_PAD_LEFT), '0')) {

                if ($length < 1.0) {

                    break;

                }

                $result .= substr($string, $i, $number);

                $length -= 1.0;

                $i += $number - 1;

            } else {

                $result .= substr($string, $i, 1);

                $length -= 0.5;

            }

        }


        $result = htmlspecialchars($result, ENT_QUOTES, 'UTF-8');

        if ($i < $strlen) {

            $result .= $etc;

        }

        return $result;

    }

}

本文转载自:http://www.yiichina.com/code/28

共有 人打赏支持
zy643208
粉丝 2
博文 43
码字总数 9336
作品 0
成都
程序员
PHP中substr() mb_substr() mb_struct()的区别和用法及Smar...

PHP substr(),mbsubstr()及mbstrcut的区别和用法及Smarty模板中的truncate调节器浅谈 PHP substr() 函数可以 分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mbsubstr(...

sco ⋅ 2012/10/07 ⋅ 0

PHP截取中文字符串的方法

PHP截取中文字符串方法总结。 程序一:PHP截取中文字符串方法 由于网站首页以及vTigerCRM里经常在截取中文字符串时出现乱码(使用substr)。 一个比较好的php截取中文字符串方法,在此与大家共...

mysoftsky ⋅ 2013/12/11 ⋅ 1

PHP截取中英文混合字符

//////////////////////////////////////////////////////////////////// // PHP截取中英文及标点符号混合的字符串函数(绝对不会出现乱码) // 本程序在utf-8、gb2312中测试通过。使用者自行...

JK_OPERA ⋅ 2015/05/11 ⋅ 0

PHP substr()截取字符串时,中文出现乱码的问题解决

在PHP程序开发中,经常会执行字符串的截取操作,比如输出信息列表时,标题不宜过长,打印文章摘要时,也要执行一系列的字符串截取操作。遇到这些需求时,我们经常会想到使用substr()方法来实...

bengozhong ⋅ 2016/10/10 ⋅ 0

mb_substr()----------php

PHP substr()函数可以分割文字,但要分割的文字如果包括中文字符往往会遇到问题,这时可以用mbsubstr()/mbstrcut这个函数,mbsubstr() /mbstrcut的用法与substr()相似,只是在mbsubstr()/mb...

freedonn ⋅ 2014/09/12 ⋅ 0

php中如何截取中文字符串

众所周知php原生函数substr是不支持截取中文字符串的。下面的代码提供了多种截取php中文字符串的方法。 1. 截取GB2312中文字符串 <?php < ?php //截取中文字符串 function mysubstr($str, $s...

lrxing ⋅ 2013/05/30 ⋅ 2

php中计算中文字符串长度、截取中文字符串

在做PHP开发的时候,由于我国的语言环境问题,所以我们常常需要对中文进行处理。在PHP中,我们都知道有专门的mbsubstr和mbstrlen函数,可以对中文进行截取和计算长度,但是,由于这些函数并非...

建华1 ⋅ 2014/01/16 ⋅ 0

php乱码问题

一.HTML页面转UTF-8编码问题 1.在head后,title前加入一行: <meta http-equiv='Content-Type' content='text/html; charset=utf-8' /> 顺序不能错,一定要在 显示的标题有可能是乱码! 2.ht...

Muggle001 ⋅ 2016/08/01 ⋅ 0

php中截取中文字符会出现乱码的问题

php中内置函数substr()可以对指定字符串进行截取,不过,它只对全英文字符串的截取是比较适合的。如果字符串中出现了中文,就有可能导致截取后出现乱码的问题,甚至在一些场景中如json编码的...

码上有春天 ⋅ 2015/04/09 ⋅ 0

php函数substr、mb_substr、mb_strcut截取中文比较

一、函数说明 substr、mbsubstr、mbstrcut这三个函数都用来截取字符串,所不同的是:substr是最简单的截取,无法适应中文;mbsubstr是按字来切分字符串,而mbstrcut是按字节来切分字符串,截...

BearCatYN ⋅ 2015/04/24 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

行政区划代码转为字典形式

原数据为: http://www.mca.gov.cn/article/sj/xzqh/2018/201804-12/201804-06041553.html 手动替换了一下格式,并使用下面的代码处理. # 输入格式s = """110000:北京市110101:东城区1101...

漫步海边小路 ⋅ 10分钟前 ⋅ 0

android apk 签名

创建key,需要用到keytool.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),使用产生的key对apk签名用到的是jarsigner.exe (位于C:\Program Files\Java\jdk1.6.0_10\bin目录下),把...

国仔饼 ⋅ 19分钟前 ⋅ 0

springcloud+jps+mybatis多数据库配置

多数据库配置 配置我们目录结构设置: config ---datasource ----jpa ----mybatis ----redis Datasource中是数据的相关配置 Jap中是springDatajpa的相关配置 Mybatis中是mybatis的相关配置 ...

大-智-若-愚 ⋅ 26分钟前 ⋅ 0

Spring mvc HandlerMapping 实现机制

概述 当DispatcherServlet接受到客户端的请求后,SpringMVC 通过 HandlerMapping 找到请求的Controller。 HandlerMapping 在这里起到路由的作用,负责找到请求的Controller。 Spring MVC 默认...

轨迹_ ⋅ 29分钟前 ⋅ 0

JavaScript零基础入门——(十)JavaScript的DOM基础

JavaScript零基础入门——(十)JavaScript的DOM基础 欢迎大家回到我们的JavaScript零基础入门,上一节课,我们了解了JavaScript中的函数,这一节课,我们来了解一下JavaScript的DOM。 第一节...

JandenMa ⋅ 今天 ⋅ 0

Weex起步

本教程假设你已经在你的本地环境安装了node 其实weex起步教程在 https://github.com/lilugirl/incubator-weex 项目说明文件中都已经有了,但为了有些同学看到英文秒变文盲,所以这里我重新写...

lilugirl ⋅ 今天 ⋅ 0

Jenkins实践1 之安装

1 下载 http://mirrors.jenkins.io/war/latest/jenkins.war 2 启动 java -jar jenkins.war 前提:安装jdk并配置环境变量 启动结果节选: ************************************************......

晨猫 ⋅ 今天 ⋅ 0

组合数学 1-2000 中,能被6或10整除的数的个数

1--2000 中,能被6或10整除的数的个数 利用集合的性质 能被6整除的个数 2000/6 = 333 能被10整除的个数 2000/10 = 200 能被6和10整除的个数 2000/30 = 66 能被6或10整除的个数 333+200-66 =...

阿豪boy ⋅ 今天 ⋅ 0

一篇文章学懂Shell脚本

Shell脚本,就是利用Shell的命令解释的功能,对一个纯文本的文件进行解析,然后执行这些功能,也可以说Shell脚本就是一系列命令的集合。 Shell可以直接使用在win/Unix/Linux上面,并且可以调用...

Jake_xun ⋅ 今天 ⋅ 0

大数据工程师需要精通算法吗,要达到一个什么程度呢?

机器学习是人工智能的一个重要分支,而机器学习下最重要的就是算法,本文讲述归纳了入门级的几个机器学习算法,加大数据学习群:716581014一起加入AI技术大本营。 1、监督学习算法 这个算法由...

董黎明 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部