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函数spl_autoload_register()用法和__autoload()介绍
Feb 04 PHP
探讨php中遍历二维数组的几种方法详解
Jun 08 PHP
php自动加载机制的深入分析
Jun 08 PHP
php生成N个不重复的随机数实例
Nov 12 PHP
PHP中file_exists函数不支持中文名的解决方法
Jul 26 PHP
PHP防止注入攻击实例分析
Nov 03 PHP
PHP中定义数组常量(array常量)的方法
Nov 17 PHP
PHP目录与文件操作技巧总结(创建,删除,遍历,读写,修改等)
Sep 11 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 PHP
Laravel框架实现利用监听器进行sql语句记录功能
Jun 06 PHP
PHP进阶学习之命名空间基本用法分析
Jun 18 PHP
laravel实现按月或天或小时统计mysql数据的方法
Oct 09 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编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
php面向对象重点知识分享
2019/09/27 PHP
JavaScript 节点操作 以及DOMDocument属性和方法
2007/12/06 Javascript
Js动态创建div
2008/09/25 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
Jquery仿淘宝京东多条件筛选可自行结合ajax加载示例
2013/08/28 Javascript
JS生成不重复随机数组的函数代码
2014/06/10 Javascript
EasyUI中在表单提交之前进行验证
2016/07/19 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
Bootstrap Table使用整理(五)之分页组合查询
2017/06/09 Javascript
javascript实现考勤日历功能
2018/11/29 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
2019/08/26 Javascript
js面向对象之实现淘宝放大镜
2020/01/15 Javascript
Vue中qs插件的使用详解
2020/02/07 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
vue项目启动出现cannot GET /服务错误的解决方法
2020/04/26 Javascript
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
python装饰器初探(推荐)
2016/07/21 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
python 子类调用父类的构造函数实例
2020/03/12 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
Anaconda配置pytorch-gpu虚拟环境的图文教程
2020/04/16 Python
什么是设计模式
2012/06/17 面试题
《月迹》教学反思
2014/02/19 职场文书
集体婚礼策划方案
2014/02/22 职场文书
出国留学计划书
2014/04/27 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
财务人员岗位职责
2015/02/03 职场文书
幼师辞职信范文
2015/02/27 职场文书
大学生逃课检讨书
2015/05/04 职场文书
历史名人教你十五个读书方法,赶快Get起来!
2019/07/18 职场文书