Не работает скрипт с кириллицей?
Возможно, имеет смысл взглянуть сюда: php.net/manual/ru/book.mbstring.php
Смотрите доку по mb_strlen и mb_substr. У вас проблема в том, что у кирилице в utf-8 отводится на символ 2 байта, а strlen и substr работаю только для 1байтных символов.