PHP实现截取中文字符串不出现?号的解决方法
本文实例讲述了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字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
本文实例分析了PHP常见字符串处理函数用法.分享给大家供大家参考,具体如下: <?php $s = "hello world"; //整理 echo 'trim(); ltrim(); rtrim()'; echo '<br />'; echo '长度为: '.strlen($s); echo '<br />'; //大小写 echo '首字母大写: '.Ucfirst($s); echo '<br />'; echo '每个单词首字母大写:
-
php输出xml格式字符串(用的这个)
复制代码 代码如下: <?php header("Content-type:text/xml;charset=utf-8"); $aaa =<<<html <?xml version='1.0' encoding='utf-8'?> <SubFucParams> <Version>1.0.0.0</Version> <Publisher>d3e59f1d78f344c682bef3517a4b667f&
-
教你如何使用PHP输出中文JSON字符串
复制代码 代码如下: json_endoce: http://cn.php.net/json_encodejson_dedoce: http://cn.php.net/json_decode json_encode - 对变量进行 JSON 编码,并返回 value 值的 JSON 形式,例如: 复制代码 代码如下: <?php$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);echo json_encode($arr)
-
PHP中一个控制字符串输出的函数
// php 中 一个控制字符串输出的函数(中英文),每行显示多少字数,避免英文的影响 // $str 字符串 // $len 每行显示的字数(汉字×2) function rep($str,$len) { $strlen=strlen($str); $i=0; $finstr=""; $pos=0; while($i<$strlen) { $s1=substr($str,$i,1); $s2=ord
-
php echo 输出字符串函数详解
复制代码 代码如下: echo "asd";//字符串 echo "ads$c";//字符串+变量 echo 'ads$c';//字符串 asd$c $c不是变量 echo "sd"."vs"; echo "sd","vs"; echo $a; echo $a.$b; echo $a,$b; echo $a.$b.$c; echo $a,$b,$c; echo "kaskd{$
-
php常用字符串输出方法分析(echo,print,printf及sprintf) 原创
本文讲述了php常用字符串输出方法.分享给大家共大家参考,具体如下: 1. echo用法:可用echo 直接输出,也可以用echo()输出,无返回值 $string="<b>加粗显示文字</b>"; echo $string; //echo "<br/>"; //echo($string);//效果同上 echo "<br/>"; echo "This ", "is &
-
使用字符串函数输出整数化的PHP版本号
再用用程序时,一般需要对php版本号整数化后进行判断,从而确定输出. <?php $temp=explode(".",phpversion()); //以数组形式获取版本号 $num=count($temp); //计算数组中的元素数量 $phpver=0; switch($num) { cas 3: $phpver=$phpver+(intval($temp[2])); cas 2: $phpver=$phpver+(in
-
php实现字符串反转输出的方法
本文实例讲述了php实现字符串反转输出的方法.分享给大家供大家参考.具体分析如下: php中带有一个很简单的函数用于字符串反转,即strrev() <?php print strrev('This is not a palindrome.'); ?> 输出结果如下 .emordnilap a ton si sihT 希望本文所述对大家的php程序设计有所帮助.
-
深入理解php printf() 输出格式化的字符串
php printf() 函数用于输出格式化的字符串,本文章向码农介绍php printf()函数的使用方法和基本使用实例,感兴趣的码农可以参考一下. 定义和用法 printf() 函数输出格式化的字符串. arg1.arg2.arg++ 参数将被插入到主字符串中的百分号(%)符号处.该函数是逐步执行的.在第一个 % 符号处,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推. 注释:如果 % 符号多于 arg 参数,则您必须使用占位符.占位符被插入到 % 符号之后,由数字和 "\$
-
php使用正则表达式获取字符串中的URL
今天写一个问答系统上线之后发现有很多人发链接了,由于业务部门要我们过滤掉网站地址了,下面我给大家分享一个提取字符串url地址函数,代码如下: $str ='本文实例讲述了php匹配字符串里所有URL地址的方法.http://www.manongjc.com 分享给大家供大家参考'; preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-Za-z\d]*/",$st
-
PHP学习之输出字符串(echo,print,printf,print_r和var_dump)
下面一一进行介绍. 1. echo echo 是PHP的一个关键字,它没有返回值.在写法上,它可以省略小括号.如下代码: 复制代码 代码如下: echo 'Test String'; echo('Test String'); 2. print print 也是PHP的一个关键字,它有返回值,一般返回true,返回false的情况应该没有.在写法上,它和echo一样,可以省略小括号.如下代码: 复制代码 代码如下: print 'Test String'; print('Test String')
-
php输出含有“#”字符串的方法
本文实例讲述了php输出含有"#"字符串的方法.分享给大家供大家参考,具体如下: 因为#在php中是注释,无法正常输出,需要转换和处理. 输出页: <? function zh($str) { for($i=0;$i<strlen($str);$i++) { if($str[$i]=="#") { $str[$i]="@"; } } return $str; } ?> <!DOCTYPE html PUBLIC "
随机推荐
- AngularJS中的Directive自定义一个表格
- 原生js实现class的添加和删除简单代码
- Ruby中访问SQL Server数据库的配置实例
- jquery实现左右轮播图效果
- 微信语音上传 下载功能实例代码
- 浅谈javascript中for in 和 for each in的区别
- PHP开发框架Laravel数据库操作方法总结
- mysql 5.7.13 解压缩版(免安装)安装配置教程
- C#.NET中如何批量插入大量数据到数据库中
- jQuery插件ajaxFileUpload使用实例解析
- Javascript Memoizer浅析
- MySQL 文本文件的导入导出数据的方法
- mysql表优化、分析、检查和修复的方法详解
- jQuery Ajax 上传文件处理方式介绍(推荐)
- jQuery插件FusionCharts实现的3D柱状图效果实例【附demo源码下载】
- Auntion-TableSort国人写的一个javascript表格排序的东西
- 学习使用bootstrap基本控件(table、form、button)
- MySQL相关说明
- Python多线程扫描端口代码示例
- Python2.7 实现引入自己写的类方法