Last Updated: 21 Nov 2020
|
String Truncation - iTrunc()
A great string truncation function, originally from FeedCreator (GPL).
/** * Truncates a string to a certain length at the most sensible point. * First, if there's a '.' character near the end of the string, the string is truncated after this character. * If there is no '.', the string is truncated after the last ' ' character. * If the string is truncated, " ..." is appended. * If the string is already shorter than $length, it is returned unchanged. * * @static * @param string string A string to be truncated. * @param int length the maximum length the string should be truncated to * @return string the truncated string */ function _iTrunc($string, $length) { if (strlen($string)<=$length) { return $string; } $pos = strrpos($string,"."); if ($pos>=$length-4) { $string = substr($string,0,$length-4); $pos = strrpos($string,"."); } if ($pos>=$length*0.4) { return substr($string,0,$pos+1)." ..."; } $pos = strrpos($string," "); if ($pos>=$length-4) { $string = substr($string,0,$length-4); $pos = strrpos($string," "); } if ($pos>=$length*0.4) { return substr($string,0,$pos)." ..."; } return substr($string,0,$length-4)." ..."; }
Discussion