I have two string that i want to limit to lets say the first 25 characters for example. Is there a way to cut off text after the 25th character and add a ... to the end of the s
May I make a modification to pallan's code?
$truncated = (strlen($string) > 20) ? substr($string, 0, 20) . '...' : $string;
This doesn't add the '...' if it is shorter.
You're looking for the substr method.
$s = substr($input, 0, 25);
This will get you the first chuck of the string and then you can append whatever you'd like to the end.
Really quickly,
$truncated = substr('12345678901234567890abcdefg', 0, 20) . '...'
This one is short and takes word boundary into account, it doesn't use loops which makes it very efficient
function truncate($str, $chars, $end = '...') {
if (strlen($str) <= $chars) return $str;
$new = substr($str, 0, $chars + 1);
return substr($new, 0, strrpos($new, ' ')) . $end;
}
Usage:
truncate('My string', 5); //returns: My...
<?php echo substr('12345678901234567890abcdefg', 0, 20) . '...' ?>
http://fr.php.net/manual/en/function.substr.php