PHP自定义函数实现防止中文出现乱码

一 代码

function.php
  1. <?php
  2. function chinesesubstr($str,$start,$len){
  3. $strlen=$start+$len;
  4. for($i=0;$i<$strlen;$i++){
  5. if(ord(substr($str,$i,1))>0xa0){
  6. $tmpstr.=substr($str,$i,2);
  7. $i++;
  8. }else
  9. $tmpstr.=substr($str,$i,1);
  10. }
  11. return $tmpstr;
  12. }
  13. ?>
index.php
  1. <linkrel="stylesheet"type="text/css"href="style.css">
  2. <tablewidth="160"border="0"align="center"cellpadding="0"cellspacing="0">
  3. <tr>
  4. <tdwidth="165"height="32"><imgsrc="images/tell_top.gif"width="165"
  5. height="32"border="0"></td>
  6. </tr>
  7. <tr>
  8. <tdheight="52"background="images/tell_center.gif">
  9. <?php
  10. include_once("function.php");
  11. $news="中小学因雾霾放假!";
  12. $i=1;
  13. do{
  14. ?>
  15. <tablewidth="148"height="25"border="0"align="center"cellpadding="0"
  16. cellspacing="0">
  17. <tr>
  18. <tdwidth="17"height="20"><imgsrc="images/mark_0.gif"width="10"
  19. height="10"></td>
  20. <tdwidth="333">
  21. <?php
  22. echo chinesesubstr($news,0,16);
  23. if(strlen($news)>16){
  24. echo " ...";
  25. }
  26. ?>
  27. </td>
  28. </tr>
  29. <tr>
  30. <tdheight="5"></td>
  31. <tdheight="5"background="images/back_point_write.gif"></td>
  32. </tr>
  33. </table>
  34. <?php
  35. $i++;
  36. }while($i<=5);
  37. ?>
  38. </td>
  39. </tr>
  40. <tr>
  41. <tdwidth="165"height="12"><imgsrc="images/tell_bottom.gif"width="165"
  42. height="12"></td>
  43. </tr>
  44. </table>
二 运行效果

 
三 代码说明
1、为了保持整个页面合理布局,经常需要对一些较长的字符进行部分输出,但由于汉字占有两个字符,如果截取位置不当就可能导致截取的字符串尾出现乱码。
2、本代码实现功能:创建一个自定义函数,用于实现屏蔽中文乱码的输出,将该函数封装在一个function.php中,然后应用include_once语句引用这个文件,再通过echo语句输出新闻主题信息,截取前16个 字符,并应用自定义函数屏蔽中文乱码。

 

  • 大小: 37.3 KB
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值