При использовании плагина WP Telegram, клиент попросил облагообразить формат поста в Телеге.
Стояла задача сократить текст, отправляемый в Телеграм до 650 символов (иначе резалась часть хэштегов, тк исходные посты на самом сайте были достатчно объемные). В ходе решения стало понятно, что текст режется буквально - и последнее слово с большой долей вероятности выводится частично.
В итоге найден способ сокращать текст до последнего пробела и слова перестали обрезаться посередине.
Файл: " wptelegram\modules\p2tg\PostData.php" /222 стр./:
$content = mb_strimwidth($content, 0, 650, "");$content = mb_substr($content, 0, mb_strrpos($content,' '));
Рекомендуется еще указывать кодировку в вышеописанных функциях, но у меня заработало и без нее.
Спасибо, коллеги!
UPD.
Доп. задача - резать текст до последней точки, если он длинее, чем нужно (700 символов) :
$max_lengh = 700; $len = strlen($content);if ($len > $max_lengh) {$content = mb_strimwidth($content, 0, $max_lengh, ""); $content = mb_substr($content, 0, mb_strrpos($content,'.'));$content = $content.".";}