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批量生成缩略图的代码
Jul 19 PHP
php仿discuz分页效果代码
Oct 02 PHP
ajax完美实现两个网页 分页功能的实例代码
Apr 16 PHP
thinkphp控制器调度使用示例
Feb 24 PHP
thinkphp中ajax与php响应过程详解
Dec 08 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
Jan 07 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
php 数组字符串搜索array_search技巧
Jul 05 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
Jun 08 PHP
PHP lcfirst()函数定义与用法
Mar 08 PHP
Yii框架自定义数据库操作组件示例
Nov 11 PHP
PHP pthreads v3下同步处理synchronized用法示例
Feb 21 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提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
脚本安需导入(装载)的三种模式的对比
2007/06/24 Javascript
用javascript实现画板的代码
2007/09/05 Javascript
document.compatMode介绍
2009/05/21 Javascript
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
jQuery计算textarea中文字数(剩余个数)的小程序
2013/11/28 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
2016/12/12 Javascript
vue数据双向绑定原理解析(get &amp; set)
2017/03/08 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
给Python中的MySQLdb模块添加超时功能的教程
2015/05/05 Python
Django查询数据库的性能优化示例代码
2017/09/24 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
Tensorflow获取张量Tensor的具体维数实例
2020/01/19 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
Antler英国官网:购买安特丽行李箱、拉杆箱
2019/08/25 全球购物
C++如何引用一个已经定义过的全局变量
2014/08/25 面试题
电钳工人个人求职信
2014/05/10 职场文书
2014年六一儿童节演讲稿
2014/05/23 职场文书
安全生产标语大全
2014/10/06 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
深入理解python多线程编程
2021/04/18 Python
goland 清除所有的默认设置操作
2021/04/28 Golang