Welcome Guest, Not a member yet? Register   Sign In
character_limiter problems
#2

[eluser]sophistry[/eluser]
interesting. EDIT: by the way, that function has other problems, like try sending it a long string (longer than the limit value) and you'll see that it returns the whole "word" and appends the ellipsis. it's because the explode() on the space character cannot explode anything.

you could look at the word_limiter and see if it could work for you. it's probably even faster than the current character limiter.

that character_limiter() function needs an overhaul anyway:

here's how a smarty plugin writer (mohrt - also has been here on CI forums) handles character limiting..
Code:
/**
* Smarty plugin
* @package Smarty
* @subpackage plugins
*/


/**
* Smarty truncate modifier plugin
*
* Type:     modifier<br>
* Name:     truncate<br>
* Purpose:  Truncate a string to a certain length if necessary,
*           optionally splitting in the middle of a word, and
*           appending the $etc string or inserting $etc into the middle.
* @link http://smarty.php.net/manual/en/language.modifier.truncate.php
*          truncate (Smarty online manual)
* @author   Monte Ohrt <monte at ohrt dot com>
* @param string
* @param integer
* @param string
* @param boolean
* @param boolean
* @return string
*/
function smarty_modifier_truncate($string, $length = 80, $etc = '...',
                                  $break_words = false, $middle = false)
{
    if ($length == 0)
        return '';

    if (strlen($string) > $length) {
        $length -= strlen($etc);
        if (!$break_words && !$middle) {
            $string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length+1));
        }
        if(!$middle) {
            return substr($string, 0, $length).$etc;
        } else {
            return substr($string, 0, $length/2) . $etc . substr($string, -$length/2);
        }
    } else {
        return $string;
    }
}


Messages In This Thread
character_limiter problems - by El Forum - 11-26-2008, 11:26 AM
character_limiter problems - by El Forum - 11-26-2008, 01:36 PM



Theme © iAndrew 2016 - Forum software by © MyBB