diff options
Diffstat (limited to 'includes/common.inc')
-rw-r--r-- | includes/common.inc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/includes/common.inc b/includes/common.inc index dc72c88b9..31f3f426d 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -1722,14 +1722,19 @@ function drupal_xml_parser_create(&$data) { * The string to truncate. * @param $len * An upper limit on the returned string length. + * @param $wordsafe + * Flag to truncate at nearest word boundary. Defaults to FALSE. * @return * The truncated string. */ -function truncate_utf8($string, $len) { +function truncate_utf8($string, $len, $wordsafe = FALSE) { $slen = strlen($string); if ($slen <= $len) { return $string; } + if ($wordsafe) { + while (($string[--$len] != ' ') && ($len > 0)) {}; + } if ((ord($string[$len]) < 0x80) || (ord($string[$len]) >= 0xC0)) { return substr($string, 0, $len); } |