对于ThinkPHP的截取字符串函数无法显示省略号的情况,解决方法如下:
打开Common/extend.php页面,修改msubstr函数如下:
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; }
问题内容: 我敢肯定,我们所有人都在Facebook状态(或其他位置)上看到省略号,然后单击“显示更多”,并且只有另外两个字符左右。我猜这是由于懒惰的编程,因为肯定有一种理想的方法。 我的人把苗条的字符算作“半个字符”,但是当省略号几乎没有隐藏任何字符时,这并不能解决。 有没有理想的方法?这是我的: 语言并不重要,但可以标记为Java,因为这是我最感兴趣的内容。 问题答案: 我喜欢让“瘦”字符算作
本文向大家介绍thinkPHP内置字符串截取函数用法详解,包括了thinkPHP内置字符串截取函数用法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkPHP内置字符串截取函数用法。分享给大家供大家参考,具体如下: thinkphp内置了一个可以媲美smarty的模板引擎,给我们带来了很大的方便。调用函数也一样,可以和smarty一样调用自己需要的函数,而官方也内置了一些常用的
本文向大家介绍C#实现根据字节数截取字符串并加上省略号的方法,包括了C#实现根据字节数截取字符串并加上省略号的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#按字节数截取字符串并在后面加上省略号...的方法,这是一个自定义的C#函数,函数的使用说明如下: 函数代码如下: 以下所示示例也是根据字节数截取字符串的,只是这个函数后面不加省略号……
本文向大家介绍Powershell截取字符串并添加省略号的例子,包括了Powershell截取字符串并添加省略号的例子的使用技巧和注意事项,需要的朋友参考一下 限制字符串大小 支持所有版本。 确保你输出的字符串不会过长,当字符串超过你指定的长度你可以用下面办法将其缩短。
本文向大家介绍PHP实现截取中文字符串不出现?号的解决方法,包括了PHP实现截取中文字符串不出现?号的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现截取中文字符串不出现?号的解决方法。分享给大家供大家参考,具体如下: 当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字 输出为结果为: 于是写了以下这段代码,判断如果中英文混合字符串中的
本文向大家介绍Linux Shell 截取字符串的方法示例,包括了Linux Shell 截取字符串的方法示例的使用技巧和注意事项,需要的朋友参考一下 shell中截取字符串的方法很多 格式 说明 ${string: start :length} 从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。 ${string: start} 从 string 字符串的