/**
* Cut string to n symbols and add delim but do not break words.
*
* Example:
* <code>
* $string = 'this sentence is way too long';
* echo neat_trim($string, 16);
* </code>
*
* Output: 'this sentence is…'
*
* @access public
* @param string string we are operating with
* @param integer character count to cut to
* @param string|NULL delimiter. Default: '…'
* @return string processed string
**/
function neat_trim($str, $n, $delim='…') {
$len = strlen($str);
if ($len > $n) {
preg_match('/(.{' . $n . '}.*?)\b/', $str, $matches);
return rtrim($matches[1]) . $delim;
}
else {
return $str;
}
}
* Cut string to n symbols and add delim but do not break words.
*
* Example:
* <code>
* $string = 'this sentence is way too long';
* echo neat_trim($string, 16);
* </code>
*
* Output: 'this sentence is…'
*
* @access public
* @param string string we are operating with
* @param integer character count to cut to
* @param string|NULL delimiter. Default: '…'
* @return string processed string
**/
function neat_trim($str, $n, $delim='…') {
$len = strlen($str);
if ($len > $n) {
preg_match('/(.{' . $n . '}.*?)\b/', $str, $matches);
return rtrim($matches[1]) . $delim;
}
else {
return $str;
}
}
No comments:
Post a Comment