PHP实现截取中文字符串不出现?号的解决方法


Posted in PHP onDecember 29, 2016

本文实例讲述了PHP实现截取中文字符串不出现?号的解决方法。分享给大家供大家参考,具体如下:

当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字

<?php
$text = "1欢迎访问sina新浪播客";
$value = substr($text, 0, 18);
echo $value."<BR>";
?>

输出为结果为:

1欢迎访问新浪?BR>

于是写了以下这段代码,判断如果中英文混合字符串中的汉字字节数为奇数,则少截取一个字节,保证汉字显示完整。

<?php
$text = "1欢迎访问sina新浪播客";
$value = substr($text, 0, 18);
$value_length = strlen($value);
$value_count = 0;
for ($i = 0; $i < $value_length; $i++)
{
  if (ord($value{$i}) > 127)
  {
    $value_count++;
  }
}
if ($value_count % 2 != 0)
{
  $value = substr($text, 0, $value_length - 1);
}
echo $value."<BR>";
?>

输出为结果为:

1欢迎访问sina新浪

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php不用正则采集速度探究总结
Mar 24 PHP
php适配器模式介绍
Aug 14 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
关于crontab的使用详解
Jun 24 PHP
PHP使用mysql_fetch_row查询获得数据行列表的方法
Mar 18 PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
Dec 24 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
Zend Framework实现将session存储在memcache中的方法
Mar 22 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 PHP
实例讲解PHP表单处理
Feb 15 PHP
浅谈php使用curl模拟多线程发送请求
Mar 08 PHP
PHP中strval()函数实例用法
Jun 07 PHP
详解thinkphp实现excel数据的导入导出(附完整案例)
Dec 29 #PHP
PHP实现的XML操作类【XML Library】
Dec 29 #PHP
php常用字符函数实例小结
Dec 29 #PHP
php常用正则函数实例小结
Dec 29 #PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
Dec 29 #PHP
php常用数组函数实例小结
Dec 29 #PHP
php正则修正符用法实例详解
Dec 29 #PHP
You might like
PHP的中问验证码
2006/11/25 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
JS 实现双色表格实现代码
2009/11/24 Javascript
JS中confirm,alert,prompt函数区别分析
2011/01/17 Javascript
ASP.NET jQuery 实例12 通过使用jQuery validation插件简单实现用户注册页面验证功能
2012/02/03 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
Javascript使用post方法提交数据实例
2015/08/03 Javascript
js自定义QQ菜单效果
2017/01/10 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
Vue父子组建的简单通信之控制开关Switch的实现
2018/06/04 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
解决vue.js this.$router.push无效的问题
2018/09/03 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
vue集成chart.js的实现方法
2019/08/20 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
python中property属性的介绍及其应用详解
2019/08/29 Python
Python内存映射文件读写方式
2020/04/24 Python
python操作redis数据库的三种方法
2020/09/10 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
django项目中使用云片网发送短信验证码的实现
2021/01/19 Python
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
经管应届生求职信范文
2014/05/18 职场文书
证婚人致辞精选
2015/07/28 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
自荐信范文
2019/05/20 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
无线电知识基础入门篇
2022/02/18 无线电
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫