I got this function:
function shorter($text, $chars_limit) { if (strlen($text) > $chars_limit) return substr($text, 0, strrpos(substr($text, 0, $chars_limit), " ")).'...'; else return $text; }
and if I use echo shorter($input, 11)
it works ok, but if there are some white spaces in the input, otherwise for the input looking like:
wwwwwwwwwww
The function will change this into:
… (3 dots).
I wan’t it to be changed into something like this:
www …
Have you got any ideas how to rebuild this script? Thank you in advance.
Advertisement
Answer
Im assuming you just want to take an input. If it is longer than X then cut it off at X and add “…”.
// Start function function shorter($text, $chars_limit) { // Check if length is larger than the character limit if (strlen($text) > $chars_limit) { // If so, cut the string at the character limit $new_text = substr($text, 0, $chars_limit); // Trim off white space $new_text = trim($new_text); // Add at end of text ... return $new_text . "..."; } // If not just return the text as is else { return $text; } }
I didn’t test this, but it should work. 🙂