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 相关文章推荐
example2.php
Oct 09 PHP
杏林同学录(三)
Oct 09 PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 21 PHP
Discuz 6.0+ 批量注册用户名
Sep 13 PHP
通俗易懂的php防注入代码
Apr 07 PHP
php对mongodb的扩展(初出茅庐)
Nov 11 PHP
php源代码安装常见错误与解决办法分享
May 28 PHP
深入解析PHP中的(伪)多线程与多进程
Jul 01 PHP
mac环境中使用brew安装php5.5.15
Aug 18 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
php ajax实现文件上传进度条
Mar 29 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中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
PHP封装cURL工具类与应用示例
2019/07/01 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
Javascript new Date().valueOf()的作用与时间戳由来详解
2013/04/24 Javascript
js获取时间并实现字符串和时间戳之间的转换
2015/01/05 Javascript
jquery获取节点名称
2015/04/26 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
2016/05/13 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
vue监听input标签的value值方法
2018/08/27 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
vue中配置scss全局变量的步骤
2020/12/28 Vue.js
JS中多层次排序算法的实现代码
2021/01/06 Javascript
解决Python传递中文参数的问题
2015/08/04 Python
Python实现线程状态监测简单示例
2018/03/28 Python
基于python实现聊天室程序
2018/07/27 Python
OpenCV搞定腾讯滑块验证码的实现代码
2019/05/18 Python
python基于SMTP协议发送邮件
2019/05/31 Python
python的常见矩阵运算(小结)
2019/08/07 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
HTML5学习心得总结(推荐)
2016/07/08 HTML / CSS
Skyscanner波兰:廉价航班
2017/11/07 全球购物
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
毕业生自荐信的主要内容
2013/10/29 职场文书
军校本科大学生自我评价
2014/01/14 职场文书
八年级数学教学反思
2016/02/17 职场文书
如何理解PHP核心特性命名空间
2021/05/28 PHP
Python多个MP4合成视频的实现方法
2021/07/16 Python
MySQL详细讲解变量variables的用法
2022/06/21 MySQL