首頁 > 後端開發 > php教程 > php自訂函數截取漢字長度範例

php自訂函數截取漢字長度範例

WBOY
發布: 2016-07-25 08:53:21
原創
808 人瀏覽過
  1. function msubstr($str,$start,$len) {
  2. $strlen=$start $len;
  3. for($i=0;$i<$strlen;$i ) {
  4. if(ord(substr($str,$i,1))>0xa0) {
  5. $tmpstr.=substr($str,$i,2);
  6. $i ;
  7. } else
  8. $tmpstr.=substr($str,$i,1);
  9. }
  10. return $tmpstr;
  11. }
复制代码

调用:

  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<$strlen;$i ,$clen )
  9. {
  10. if ($clen>=$start $len)
  11. break;
  12. if(ord(substr($str,$i,1))>0xa0)
  13. {
  14. if ($clen>=$start)
  15. $tmpstr.=substr($str,$i,2);
  16. $i ;
  17. } bbs.it-home.org
  18. else
  19. {
  20. if ($clen>=$start)
  21. $tmpstr.=substr($str,$i,1);
  22. }
  23. }

  24. return $tmpstr;

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

  31. return $tempstr;

  32. }

复制代码

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

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


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板