I would much rather see this method guarantee not to return more than `$iCharacterCount` characters, so the substr_replace should be modified accordingly.  Also, why not use … instead of ... (1 character instead of 3)?