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 相关文章推荐
smarty中先strip_tags过滤html标签后truncate截取文章运用
Oct 25 PHP
PHP输出XML到页面的3种方法详解
Jun 06 PHP
PHP中构造函数和析构函数解析
Oct 10 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
分享自定义的几个PHP功能函数
Apr 15 PHP
php函数连续调用实例分析
Jul 30 PHP
PHP常用工具类大全附全部代码下载
Dec 07 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
PHP检测链接是否存在的代码实例分享
May 06 PHP
php str_replace替换指定次数的方法详解
May 05 PHP
PHP判断是否是微信打开,浏览器打开的方法
Mar 14 PHP
Yii框架where查询用法实例分析
Oct 22 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 归并排序 数组交集
2011/05/10 PHP
php模拟js函数unescape的函数代码
2012/10/20 PHP
php实现监听事件
2013/11/06 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
javascript 面向对象编程 function也是类
2009/09/17 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
jQuery实现可拖动的浮动层完整代码
2013/05/27 Javascript
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
浅谈javascript中字符串String与数组Array
2014/12/31 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
微信小程序页面滑动屏幕加载数据效果
2020/11/16 Javascript
用ES6写全屏滚动插件的示例代码
2018/05/02 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
Vue中对iframe实现keep alive无刷新的方法
2019/07/23 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
2019/09/19 Javascript
Layui数据表格判断编辑输入的值,是否为我需要的类型详解
2019/10/26 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
微信小程序报错: thirdScriptError的错误问题
2020/06/19 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
深入学习python的yield和generator
2016/03/10 Python
Python实现包含min函数的栈
2016/04/29 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
python groupby 函数 as_index详解
2019/12/16 Python
python内打印变量之%和f的实例
2020/02/19 Python
keras自定义回调函数查看训练的loss和accuracy方式
2020/05/23 Python
Python while true实现爬虫定时任务
2020/06/08 Python
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
加拿大城市本地限时优惠:Buytopia.ca
2018/09/19 全球购物
人事任命书格式
2014/06/05 职场文书
营销经理工作检讨书
2014/11/03 职场文书
感恩教育观后感
2015/06/17 职场文书
Java基础之详解HashSet的使用方法
2021/06/30 Java/Android