当前位置:首页 > CMS教程 > WordPress > 列表

wordpress页面截取中文乱码解决办法

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-19 20:48:16 浏览: 评论:0 

今天提到的程序中截取中文乱码的问题尤其是在首页,对人的第一印象是非常不友好的,现将页面乱码问题的解决方案分享以下所述,实例代码如下:

  1. <?php  
  2. echo mb_strimwidth(strip_tags(apply_filters('the_content'$post->post_content)), 0, 330,"..."); 
  3.  ?> 

以上是wordpress中的源代码,这段代码没有处理好中文的截取问题(老外的开源东西竟然没有考虑到china这个大用户).解决方案如下:

  1. <?php  
  2. echo mb_strimwidth(strip_tags(apply_filters('the_content'$post->post_content)), 0, 330,"...", "utf-8");  
  3. ?> 

涉及到的php文件有:archive.php  category.php  index.php  sidebar-category.php  sidebar-single.php(文件在外观–>编辑里面)

给你一个php中文截取函数,代码如下:

  1. function SubTitle($String,$Length) { 
  2. if (mb_strwidth($String'UTF8') <= $Length ){ 
  3. return $String
  4. }else
  5. $I = 0; 
  6. $len_word = 0; 
  7. while ($len_word < $Length){ 
  8. $StringTMP = substr($String,$I,1); 
  9. if ( ord($StringTMP) >=224 ){ 
  10. $StringTMP = substr($String,$I,3); 
  11. $I = $I + 3; 
  12. $len_word = $len_word + 2; 
  13. }elseif( ord($StringTMP) >=192 ){ 
  14. $StringTMP = substr($String,$I,2); 
  15. $I = $I + 2; 
  16. $len_word = $len_word + 2; 
  17. }else
  18. $I = $I + 1; 
  19. $len_word = $len_word + 1; 
  20. $StringLast[] = $StringTMP
  21. /* raywang edit it for dirk for (es/index.php)*/ 
  22. if (is_array($StringLast) && !emptyempty($StringLast)){ 
  23. $StringLast = implode("",$StringLast); 
  24. $StringLast .= "..."
  25. return $StringLast

Tags: wordpress页面 中文乱码

分享到: