Здравствуйте! Возможно ли если строка > 50 символов полностью обрезать не полное слово в конце?
$length = 50;
$postText = 'Доброго времени суток! Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.';
function createTitle(string $postText): string {
global $length;
$welcomeWords = [
'Доброго времени суток!',
'Доброе утро!'
];
$postText = str_replace($welcomeWords, '', $postText);
//получаем позицию первого вхождения
$pos = strpos($postText, "\n");
if (!$pos) {
$pos = $length + 1;
}
$postTitle = trim(mb_substr($postText, 0, $pos, 'utf-8'));
if(mb_strlen($postTitle, 'utf-8') >= $length ) {
$postTitle = trim(mb_substr($postText, 0, $length - 3, 'utf-8')) . '..';
}
return $postTitle;
}
echo createTitle($postText);
Сейчас:
Lorem ipsum dolor sit amet, consectetur adipis..
Хотелось бы:
Lorem ipsum dolor sit amet, consectetur..