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 相关文章推荐
多重?l件?合查?(二)
Oct 09 PHP
PHP Ajax中文乱码问题解决方法
Feb 27 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 PHP
Yii框架获取当前controlle和action对应id的方法
Dec 03 PHP
PHP SOCKET编程详解
May 22 PHP
PHP常用的排序和查找算法
Aug 06 PHP
PHP闭包函数传参及使用外部变量的方法
Mar 15 PHP
thinkphp3.x中cookie方法的用法分析
May 19 PHP
PHP登录验证码的实现与使用方法
Jul 07 PHP
php实现支付宝当面付(扫码支付)功能
May 30 PHP
PHP高并发和大流量解决方案整理
Dec 24 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
Feb 27 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
B2K与车机的中波PK
2021/03/02 无线电
php 数组的指针操作实现代码
2011/02/08 PHP
php中截取中文字符串的代码小结
2011/07/17 PHP
解析php入库和出库
2013/06/25 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
php给图片添加文字水印方法汇总
2015/08/27 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
jquery选择器的选择使用及性能介绍
2013/01/16 Javascript
jQuery实现简洁的导航菜单效果
2015/11/23 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
彻底学会Angular.js中的transclusion
2017/03/12 Javascript
解决vue同一slot在组件中渲染多次的问题
2018/09/06 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
Python实现的RSS阅读器实例
2015/07/25 Python
Python基础知识_浅谈用户交互
2017/05/31 Python
浅析Python中return和finally共同挖的坑
2017/08/18 Python
python中利用zfill方法自动给数字前面补0
2018/04/10 Python
python判断文件夹内是否存在指定后缀文件的实例
2019/06/10 Python
ubuntu 18.04搭建python环境(pycharm+anaconda)
2019/06/14 Python
python中时间转换datetime和pd.to_datetime详析
2019/08/11 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
python 如何快速复制序列
2020/09/07 Python
彪马日本官网:PUMA日本
2019/01/31 全球购物
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
档案管理员岗位职责
2013/12/01 职场文书
信息技术专业大学生职业生涯规划书
2014/01/24 职场文书
2014年科普工作总结
2014/12/06 职场文书
2015年度物流工作总结
2015/04/30 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS