Просто заметка. Если вы используете UTF8 (например) и другой неанглийский язык или причудливые символы UTF, вам понадобятся функции mb _ (...).
Так substr($string, 0, 6)
становится mb_substr($string, 0, 6)
В противном случае вы рискуете разделить многобайтовый символ на две части, и это не красиво. Это также означает, что при наличии многобайтовых символов обычный substr будет считать их как 2, что приведет к гораздо более короткой строке, чем вы ожидаете.