Maison  >  Article  >  développement back-end  >  php自定义函数截取汉字长度示例

php自定义函数截取汉字长度示例

WBOY
WBOYoriginal
2016-07-25 08:53:21778parcourir
  1. function msubstr($str,$start,$len) {
  2. $strlen=$start+$len;
  3. for($i=0;$iif(ord(substr($str,$i,1))>0xa0) {
  4. $tmpstr.=substr($str,$i,2);
  5. $i++;
  6. } else
  7. $tmpstr.=substr($str,$i,1);
  8. }
  9. return $tmpstr;
  10. }
复制代码

调用:

  1. $str="这个字符好长呀,^_^";

  2. $Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...
  3. Echo "$Short_Str";
  4. Function csubstr($str,$start,$len)
  5. {
  6. $strlen=strlen($str);
  7. $clen=0;
  8. for($i=0;$i{
  9. if ($clen>=$start+$len)
  10. break;
  11. if(ord(substr($str,$i,1))>0xa0)
  12. {
  13. if ($clen>=$start)
  14. $tmpstr.=substr($str,$i,2);
  15. $i++;
  16. } bbs.it-home.org
  17. else
  18. {
  19. if ($clen>=$start)
  20. $tmpstr.=substr($str,$i,1);
  21. }
  22. }
  23. return $tmpstr;

  24. }
  25. Function showShort($str,$len)
  26. {
  27. $tempstr = csubstr($str,0,$len);
  28. if ($str$tempstr)
  29. $tempstr .= "..."; //要以什么结尾,修改这里就可以.
  30. return $tempstr;

  31. }
复制代码

这里再分享一个更简洁的截取汉字长度的方法:

  1. $len = 19;
  2. $text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?";
  3. echo strlen($text)
复制代码


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn