在公共的common.php中
方法1
//字符串截取function cut_str($sourcestr,$cutlength) $returnstr= $i=0; $n=0; $str_length=strlen($sourcestr);//字符串的字节数 while (($n $cutlength) and ($i =$str_length)) $temp_str=substr($sourcestr,$i,1); $ascnum=Ord($temp_str);//得到字符串中第$i位字符的ascii码 if ($ascnum =224) //如果ASCII位高与224, $returnstr=$returnstr.substr($sourcestr,$i,3); //根据UTF-8编码规范,将3个连续的字符计为单个字符 $i=$i+3; //实际Byte计为3 $n++; //字串长度计1 elseif ($ascnum =192) //如果ASCII位高与192, $returnstr=$returnstr.substr($sourcestr,$i,2); //根据UTF-8编码规范,将2个连续的字符计为单个字符 $i=$i+2; //实际Byte计为2 $n++; //字串长度计1 elseif ($ascnum =65 $ascnum =90) //如果是大写字母, $returnstr=$returnstr.substr($sourcestr,$i,1); $i=$i+1; //实际的Byte数仍计1个 $n++; //但考虑整体美观,大写字母计成一个高位字符 else //其他情况下,包括小写字母和半角标点符号, $returnstr=$returnstr.substr($sourcestr,$i,1); $i=$i+1; //实际的Byte数计1个 $n=$n+0.5; //小写字母和半角标点等与半个高位字符宽... if ($str_length $i){ $returnstr = $returnstr . ... //超过长度时在尾处加上省略号 return $returnstr; }
方法2:
//字符串截取并且超出显示省略号function subtext($text, $length)if(mb_strlen($text, ‘utf8’) $length)return mb_substr($text,0,$length,’utf8′).’ …’;return $text;}
在模版中调用则:
{$tops.title | subtext=18}
相关推荐:
html' target='_blank'>MySQL 字符串截取
php截取字符串函数分享,php截取字符串
以上就是thinkphp5中截取字符串的方法有哪些?(两种方法实现)的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答