Heim  >  Artikel  >  Backend-Entwicklung  >  php自定义函数截取汉字长度示例

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

WBOY
WBOYOriginal
2016-07-25 08:53:21791Durchsuche
  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)
复制代码


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn