Cutting a string with accents [duplicate]

请求翻译

Possible Duplicate:
Truncate a multibyte String to n chars

Hello,

I'm developing a site in French and I created a function that cuts string after X number of characters. It works great, but when the last character has an accent, it has the (?) instead of the character.

Here is my function

function neat_trim3($str, $n, $delim='...') {
    $len = strlen($str);
    if ($len > $n) {
        $tocut = $len-$n;
        $output = substr($str,0,-$tocut);
        return $len.' - '.$output.$delim;
    }
    else {
        return $str;
    }
}

Example

$str = "C'est une soirée privé ce soir";
echo eat_trim3($str, 15 , '...' );   
// GIVES ME             C'est une soir?...

The rest of the page echos the page perfectly, I can even echo the same string without the cut and it works great.

Any help appreciated.

Thanks.

1个回答