Количество символов. Обрезка текста в PHP
Здравствуйте.
Есть проблема с одной темой для WP.
Почему-то в некоторых функциях темы (слайдер, некоторые разделы с фиксированными блоками для текста), количество вводимого текста ограничено. Причем есть разница в ограничение для кириллических символов и латинских. Так, например, латиницы выводит на экран до 93 символов, а кириллических всего 40. Подскажите, где искать проблему?
Искать проблему в файлах темы 
Найдите функцию, которая обрезает текст - а дальше уже и сами поймете.
Как правильно заметил stepan вам нужно найти функцию которая обрезает текст. Далее, замените в ней PHP функции
strlen(),substr()наmb_substr(),mb_strlen().Вот пример обрезки строки:
// Обрезаем $text = 'Этот текст нужно обрезать'; $maxchar = 10; // макс длинна if ( mb_strlen( $text ) > $maxchar ){ $text = mb_substr( $text, 0, $maxchar ) .'...'; } echo $text; // выведет: Этот текст...Дело тут в том, что кириллические символы имеют больший размер в байтах, чем латиница. А стандартные функции обрезки PHP, типа strlen() режут по размеру, а не по символам... При такой обрезке кириллических символов, почти всегда в конце появляется непонятный знак: вопрос в ромбике - �
И еще...
Функции
mb_*не всегда работают, потому что MD расширение PHP устанавливается отдельно. Если у вас они не будут работать, то используйте стандартные функции, понимающие кодировку:iconv_strlen(),iconv_substr()- для них желательно указать кодировку 'utf-8'. Для функцийmb_*кодировку указывать не обязательно.И еще
mb_*работает на порядок быстрее, чемiconv_*.В WP определены
, так что их спокойно можно использовать в коде.
mb_*функции на случай, если не установлено PHP расширение