Я создаю систему для создания динамических описаний для метатег. Он занимает сообщение на странице и передает его в функцию, которая вычеркивает все ненужное, а затем берет strlen, видя его большим и создает список слов. Теперь мне нужно удалить нужное количество слов, чтобы привести строку до 155 символов или 152, и я добавлю многоточие.Возьмите произвольную строку и сделайте ее 155 символов, заканчивающихся на ближайшее слово
Пример Строка (Ни одно из этого не фактический код его предназначен для Sudo кода)
$string = "Hello lovely Solia Avatar Community, I have a little problem and I need your help. I used to have Paint Tool SAI but my laptop ate a lot of my files, one of them being SAI. Now I am trying to get it back but I lost the website I got it from. I keep finding a website to buy it from for about $70.";
echo strlen($string);
= 296
if(strlen($string) > 155) {
// Get word amount
$words = preg_split('/\s+/', ltrim($string), 155 + 1);
}
Теперь у меня есть слова в массиве и Мне нужно взять этот массив и довести его до полной скорости 155 и остановиться на ближайшем слове, а не сломать его неловко. Возможно, я пытаюсь решить эту проблему неправильно, и мне нужно использовать другой набор функций.
Возможный дубликат [Как Обрезать строку в PHP со словом ближайшего к определенному количеству символов?] (Http://stackoverflow.com/questions/79960/how-to-truncate-a- string-in-php-to-the-word-close-to-an-some-number-of-chara) –
Спасибо, Брет. Я надеюсь, что есть другое решение, не делая цикл for для подсчета символов. Это кажется слишком упрощенным. – Iscariot
Я протестировал этот принятый ответ, и он вернется выше желаемой длины. – Iscariot