[discuz开发] php限制文章内容显示字数

[复制链接]
查看628 | 回复0 | 2018-5-17 00:00:00 | 显示全部楼层 |阅读模式
<
今天开发一个需求,遇到了需要控制文章内容的显示字数,在网上搜了一下,遇到一个不错的,自己试验了,没问题!发上来,有需要的转走。
1、先来个函数
  1. <?php

  2. function cutstr($str,$cutleng)
  3. {
  4. $str = $str; //要截取的字符串
  5. $cutleng = $cutleng; //要截取的长度
  6. $strleng = strlen($str); //字符串长度
  7. if($cutleng>$strleng)return $str;//字符串长度小于规定字数时,返回字符串本身
  8. $notchinanum = 0; //初始不是汉字的字符数
  9. for($i=0;$i<$cutleng;$i++)
  10. {
  11. if(ord(substr($str,$i,1))<=128)
  12. {
  13. $notchinanum++;
  14. }
  15. }
  16. if(($cutleng%2==1)&&($notchinanum%2==0)) //如果要截取奇数个字符,所要截取长度范围内的字符必须含奇数个非汉字,否则截取的长度加一
  17. {
  18. $cutleng++;
  19. }
  20. if(($cutleng%2==0)&&($notchinanum%2==1)) //如果要截取偶数个字符,所要截取长度范围内的字符必须含偶数个非汉字,否则截取的长度加一
  21. {
  22. $cutleng++;
  23. }
  24. return substr($str,0,$cutleng);
  25. }
  26. ?>
复制代码
2、在需要的时候,调用这个函数--- cutstr
   例如:
  1. <?php echo cutstr( $row_Rec_news['news_title'],50);echo ("...")  //从后台读出新闻标题的前25个汉字?>   
复制代码
热帖推荐
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则