当前位置:Gxlcms > PHP教程 > php中文截取字符串函数的实例教程

php中文截取字符串函数的实例教程

时间:2021-07-01 10:21:17 帮助过:3人阅读

本节内容:
php中文截取字符窜函数

例子:

  1. <?php
  2. /**
  3. * 中文
  4. 字符串截取
  5. 函数
  6. * by www.jbxue.com
  7. */
  8. function cut_str($string,$sublen,$filter=true,$start=0,$code='UTF-8'){
  9. if($filter) $string=Html2Text($string);
  10. if($code=='UTF-8'){
  11. $pa="/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
  12. preg_match_all($pa,$string,$t_string);
  13. if(count($t_string[0])-$start>$sublen) return join('',array_slice($t_string[0],$start,$sublen))."...";
  14. return join('',array_slice($t_string[0],$start,$sublen));
  15. }else{
  16. $start=$start*2;
  17. $sublen=$sublen*2;
  18. $strlen=strlen($string);
  19. $tmpstr='';
  20. for($i=0;$i<$strlen;$i++){
  21. if($i>=$start&&$i<($start+$sublen)){
  22. if(ord(substr($string,$i,1))>129){
  23. $tmpstr.=substr($string,$i,2);
  24. }else{
  25. $tmpstr.=substr($string,$i,1);
  26. }
  27. }
  28. if(ord(substr($string,$i,1))>129) $i++;
  29. }
  30. if(strlen($tmpstr)<$strlen ) $tmpstr.="...";
  31. return $tmpstr;
  32. }
  33. }
  34. //html转换函数
  35. function Html2Text($str){
  36. $str = preg_replace("/<sty(.*)\\/style>|<scr(.*)\\/script>|<!--(.*)-->/isU","",$str);
  37. $alltext = "";
  38. $start = 1;
  39. for($i=0;$i<strlen($str);$i++){
  40. if($start==0 && $str[$i]==">"){
  41. $start = 1;
  42. }else if($start==1){
  43. if($str[$i]=="<"){
  44. $start = 0;
  45. $alltext .= " ";
  46. }else if(ord($str[$i])>31){
  47. $alltext .= $str[$i];
  48. }
  49. }
  50. }
  51. $alltext = str_replace(" "," ",$alltext);
  52. $alltext = preg_replace("/&([^;&]*)(;|&)/","",$alltext);
  53. $alltext = preg_replace("/[ ]+/s"," ",$alltext);
  54. return $alltext;
  55. }

以上就是php中文截取字符串函数的实例教程的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行