У меня есть строка, которую я хочу сократить, чтобы она всегда составляла не более 20 символов.
- Я не хочу, чтобы слова обрезались.
- Когда это слишком долго, я добавляю
(...)
в конце, и это (...)
включается в 20 символов.
$string = "Hello my name is Ana and I live in Egypt";
$length = 20;
if(strlen($string) > $length) {
$string = wordwrap($string, $length - 6); // -6 because we count the chars of " (...)"
$string = explode("\n", $string, 2);
$string = $string[0].' (...)';
}
echo $string; // output "Hello my name (...)"
Но теперь я хочу сделать то же самое, но оставляя последнее слово.
Итак, ожидаемый результат: «Привет, мой (...) Египет»
Я действительно не знаю, как лучше всего это сделать. Если есть какие-нибудь полезные функции, о которых я не знаю, или, может быть, Regex?