文档章节

php截取中文无乱码

杨太化
 杨太化
发布于 2014/11/18 14:19
字数 132
阅读 12
收藏 0
点赞 0
评论 0
/*
    utf-8编码下截取中文字符串,参数可以参照substr函数
    @param $str 要进行截取的字符串
    @param $start 要进行截取的开始位置,负数为反向截取
    @param $end 要进行截取的长度
*/
function utf8_substr($str,$start=0) {
    if(empty($str)){
        return false;
    }
    if (function_exists('mb_substr')){
        if(func_num_args() >= 3) {
            $end = func_get_arg(2);
            return mb_substr($str,$start,$end,'utf-8');
        }
        else {
            mb_internal_encoding("UTF-8");
            return mb_substr($str,$start);
        }       
 
    }
    else {
        $null = "";
        preg_match_all("/./u", $str, $ar);
        if(func_num_args() >= 3) {
            $end = func_get_arg(2);
            return join($null, array_slice($ar[0],$start,$end));
        }
        else {
            return join($null, array_slice($ar[0],$start));
        }
    }
}


本文转载自:

共有 人打赏支持
杨太化
粉丝 12
博文 222
码字总数 26188
作品 0
深圳
程序员
PHP substr()截取字符串时,中文出现乱码的问题解决

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

bengozhong ⋅ 2016/10/10 ⋅ 0

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

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

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

PHP中substr() mb_substr() mb_struct()的区别和用法及Smar...

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

sco ⋅ 2012/10/07 ⋅ 0

截取字符串函数substr()、mb_substr()和mb_strcut的区别

PHP截取字符串的函数有:substr() / mbsubstr() / mbstrcut() 这些字符串的区别是什么呢? substr()函数分割包括中文字符往往会遇到乱码问题 而mb_substr()分割中文字符串就不会有乱码问题 ...

jackguo ⋅ 2014/03/21 ⋅ 0

PHP截取中文字符串的方法

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

mysoftsky ⋅ 2013/12/11 ⋅ 1

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

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

BearCatYN ⋅ 2015/04/24 ⋅ 0

PHP截取中英文混合字符

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

JK_OPERA ⋅ 2015/05/11 ⋅ 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截取中文字符串长度的mb_substr()、mb_strcut()函数

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

无牙子 ⋅ 2014/04/08 ⋅ 0

跟踪Android客户端中文(偶然性)乱码

软件运行环境: 服务端: ubuntu 14.04.2 server 客户端: Android pad 数据跟踪工具: 无线网卡 + Wireshark + notepad ++ ———————————————————————————————...

mjrao ⋅ 2015/11/03 ⋅ 4

没有更多内容

加载失败,请刷新页面

加载更多

下一页

linux 安装docker

通过以下命令下载安装docker wget -qO- https://get.docker.com | sh 执行以上命令后输出以下内容说明安装成功,注意红框中的内容,docker安装成功后默认只有root能使用,红框中给出的提示是...

haoyuehong ⋅ 23分钟前 ⋅ 0

482. License Key Formatting - LeetCode

Question 482. License Key Formatting Solution 思路:字符串转化为char数组,从后遍历,如果是大写字母就转化为小写字母,如果是-就忽略,如果遍历了k个字符(排除-)就追加一个-。 Java实现...

yysue ⋅ 42分钟前 ⋅ 0

聊聊spring cloud gateway的LoadBalancerClientFilter

序 本文主要研究一下spring cloud gateway的LoadBalancerClientFilter GatewayLoadBalancerClientAutoConfiguration spring-cloud-gateway-core-2.0.0.RELEASE-sources.jar!/org/springfram......

go4it ⋅ 今天 ⋅ 0

详解:Nginx反代实现Kibana登录认证功能

Kibana 5.5 版后,已不支持认证功能,也就是说,直接打开页面就能管理,想想都不安全,不过官方提供了 X-Pack 认证,但有时间限制。毕竟X-Pack是商业版。 下面我将操作如何使用Nginx反向代理...

问题终结者 ⋅ 今天 ⋅ 0

002、nginx配置虚拟主机

一、nginx配置虚拟主机可分为三种方式,分别为: 1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站...

北岩 ⋅ 今天 ⋅ 0

shell脚本之死循环写法

最近在学习写shell脚本,在练习if while等流程控制时,突然它们的死循环写法是怎么样的?经过百度与亲测记录如下: for死循环 #! /bin/bashfor ((;;));do date sleep 1d...

hensemlee ⋅ 今天 ⋅ 0

苹果的ARKit2.0有多可怕,看了就知道

序言 ARKit主要由三部分组成: 跟踪(Tracking) 跟踪是ARKit的核心组件之一,其提供了设备在物理世界中的位置与方向信息,并对物体进行跟踪,如人脸。 2.场景理解(Scene Understanding) 场...

_小迷糊 ⋅ 今天 ⋅ 0

5.1 vim介绍 5.2 vim移动光标 5.3 ,5.4vim一般模式下移动光标,复制粘贴

vim命令 vim是vi的一个升级版;vim可以显示文字的颜色 安装vim这一个包vim-enhanced 如果不知道安装包,可以使用 命令下面命令来查看vim命令是那个包安装的。 [root@linux-128 ~]# yum prov...

Linux_老吴 ⋅ 今天 ⋅ 0

vim一般模式

vim 是什么 vim是什么 ? 在之前接触Linux,编辑网卡配置文件的时候我们用过了vi ,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。 如果系统中没有vim ,需要安装一...

李超小牛子 ⋅ 今天 ⋅ 0

docker实战

构建企业级Docker虚拟化平台实战 重点剖析虚拟化和云计算概念; 分析Docker虚拟化的概念和原理; 从0开始实战Docker虚拟化平台; 基于Docker构建Nginx WEB服务器和CentOS虚拟机; 基于开源监...

寰宇01 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部