php函数substr_replace中文乱码的替代解决方法

简介: $str = "中华人民共和国"; $len = mb_strlen($str,'utf-8'); if($len>=6){ $str1 = mb_substr($str,0,2,'utf-8'); ...
        $str = "中华人民共和国";
        $len = mb_strlen($str,'utf-8');
        if($len>=6){
            $str1 = mb_substr($str,0,2,'utf-8');
            $str2 = mb_substr($str,$len-2,2,'utf-8');
        }
        else{
            $str1 = mb_substr($str,0,1,'utf-8');
            $str2 = mb_substr($str,$len-1,1,'utf-8');            
        }

        $this->assign('str1',$str1);
        $this->assign('str2',$str2);
        $this->assign('str',$str1.'**'.$str2);
        $this->assign('strold',substr_replace($str,'**',2,2));

输出结果为:

中华
和国
中华**和国
��**��人民共和国
 
substr_replace函数有些缺陷,中文替代会出现乱码,使用mb_substr函数截取函数再连接字符串解决,虽然有点丑陋,但能解决问题。

作者:Tyler Ning
出处:http://www.cnblogs.com/tylerdonet/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过以下邮箱地址williamningdong@gmail.com  联系我,非常感谢。

目录
相关文章
|
4月前
|
Shell PHP Windows
PHP代码审计(四)PHP文件操作函数(2)
改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。 语法:chown(file,owner)
37 0
|
4月前
|
安全 Unix Shell
PHP代码审计(四)PHP文件操作函数(1)
改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。 语法:chown(file,owner)
38 0
|
4月前
|
小程序 PHP 数据安全/隐私保护
php图片加水印函数
这里分享下php给图片加水印的几个自定义函数 给图片加水印首先需要开启GD库。 用到的php函数是imagecopymerge () 和 imagecopy () imagecopymerge 函数可以支持两个图像叠加时,设置叠加的透明度
45 0
|
7月前
|
PHP
PHP 常用系统函数
PHP 常用系统函数
39 0
|
2月前
|
PHP
从建站到拿站 -- PHP判断循环及函数
从建站到拿站 -- PHP判断循环及函数
12 0
|
2月前
|
PHP
从PHP开始学渗透 -- 函数
从PHP开始学渗透 -- 函数
8 0
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
php案例:判断这个是繁体字还是简体字(满足绝大部分字符)用php函数
|
3月前
|
PHP 数据安全/隐私保护
|
8月前
|
PHP 数据安全/隐私保护
php获取随机不重复数字(封装函数直接拿来用)
在PHP中获取随机值这种操作非常常见,比如订单号,密码加密,以及验证码等,那么在本文介绍一种获取随机不重复数字的函数。
56 0
|
4月前
|
小程序 Shell PHP
PHP代码审计(四)PHP文件操作函数(3)
改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。 语法:chown(file,owner)
20 0