PHP截取字符串cut_str_with_string 可以尝试一下
cut_str_with_string 截取字符串,可以指定要截取的字符串的长度,指定超过指定字符截取。
/** * 截取中文英文字符串 * @param $str * @param int $length 如果长度超过这个值,进行截取 * @param int $start * @param int $end 如果不为零,设置为指定截取字符串的长度 * @param string $dot * @return mixed|string */ function cut_str_with_string($str, $length=200, $start=0, $special_length=0, $dot='...') { $str = htmlspecialchars_decode($str); $str = strip_tags($str); $str = trim($str); $str = preg_replace("/\s(?=\s)/","",$str); $str = preg_replace("/[\n\r\t]/","",$str); $str = preg_replace("/\s/","",$str); $str = preg_replace("/ /","",$str); $str = trim($str); $strlen = mb_strlen($str); $content = ''; $sing = 0; $count = 0; if($length > $strlen) { return $str; } if($start >= $strlen) { return ''; } if($special_length){ if($length < $strlen && ($length > $special_length)){ while($special_length != ($count-$start)){ if(ord($str[$sing]) > 0xa0) { if(!$start || $start <= $count) { $content .= $str[$sing].$str[$sing+1].$str[$sing+2]; } $sing += 3; $count++; }else{ if(!$start || $start <= $count) { $content .= $str[$sing]; } $sing++; $count++; } } }else{ return $str; } }else{ while($length != ($count-$start)){ if(ord($str[$sing]) > 0xa0) { if(!$start || $start <= $count) { $content .= $str[$sing].$str[$sing+1].$str[$sing+2]; } $sing += 3; $count++; }else{ if(!$start || $start <= $count) { $content .= $str[$sing]; } $sing++; $count++; } } } return $content.$dot; }
版权声明
由 durban创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/588
版权声明
由 durban创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 Gowhich博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/588