ThinkPHP的截取字符串函数无法显示省略号的解决方法

2025-05-29 0 68

对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下:
打开Common/extend.php页面,修改msubstr函数如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45
function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)

{

if(function_exists("mb_substr")) {

if($suffix)

{

if($str==mb_substr($str, $start, $length, $charset))

{

return mb_substr($str, $start, $length, $charset);

}

else

{

return mb_substr($str, $start, $length, $charset)."...";

}

}

else

{

return mb_substr($str, $start, $length, $charset);

}

}

elseif(function_exists('iconv_substr')) {

if($suffix)

{

if($str==iconv_substr($str,$start,$length,$charset))

{

return iconv_substr($str,$start,$length,$charset);

}

else

{

return iconv_substr($str,$start,$length,$charset)."...";

}

}

else

{

return iconv_substr($str,$start,$length,$charset);

}

}

$re['utf-8'] = "/[\\x01-\\x7f]|[\\xc2-\\xdf][\\x80-\\xbf]|[\\xe0-\\xef][\\x80-\\xbf]{2}|[\\xf0-\\xff][\\x80-\\xbf]{3}/";

$re['gb2312'] = "/[\\x01-\\x7f]|[\\xb0-\\xf7][\\xa0-\\xfe]/";

$re['gbk'] = "/[\\x01-\\x7f]|[\\x81-\\xfe][\\x40-\\xfe]/";

$re['big5'] = "/[\\x01-\\x7f]|[\\x81-\\xfe]([\\x40-\\x7e]|\\xa1-\\xfe])/";

preg_match_all($re[$charset], $str, $match);

$slice = join("",array_slice($match[0], $start, $length));

if($suffix) return $slice."…";

return $slice;

}

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 ThinkPHP的截取字符串函数无法显示省略号的解决方法 https://www.kuaiidc.com/104405.html

相关文章

发表评论
暂无评论