Ignore:
Timestamp:
Mar 30, 2006 10:40:42 PM (18 years ago)
Author:
scdev
Message:

Q: added truncate() function. added padding-top to forms in the admin

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/1.1dev/lib/Utilities.inc.php

    r76 r77  
    143143}
    144144
     145/**
     146 * Turns "a really long string" into "a rea...string"
     147 *
     148 * @access  public
     149 * @param   string  $str    Input string
     150 * @param   int     $len    Maximum string length.
     151 * @param   string  $where  Where to cut the string. One of: 'start', 'middle', or 'end'.
     152 * @return  string          Truncated output string
     153 * @author  Quinn Comendant <quinn@strangecode.com>
     154 * @since   29 Mar 2006 13:48:49
     155 */
     156function truncate($str, $len, $where='middle')
     157{
     158    $part1 = floor(($len - 3) / 2);
     159    $part2 = ceil(($len - 3) / 2);
     160    switch ($where) {
     161    case 'start' :
     162        return preg_replace(array(sprintf('/^.{4,}(.{%s})$/', $part1 + $part2), '/\s*\.{3,}\s*/'), array('...$1', '...'), $str);
     163        break;
     164    default :
     165    case 'middle' :
     166        return preg_replace(array(sprintf('/^(.{%s}).{4,}(.{%s})$/', $part1, $part2), '/\s*\.{3,}\s*/'), array('$1...$2', '...'), $str);
     167        break;   
     168    case 'end' :
     169        return preg_replace(array(sprintf('/^(.{%s}).{4,}$/', $part1 + $part2), '/\s*\.{3,}\s*/'), array('$1...', '...'), $str);
     170        break;   
     171    }
     172}
    145173   
    146174/**
Note: See TracChangeset for help on using the changeset viewer.