Здравствуйте. Мучаюсь с вордпрессом. нужно чтобы из цитаты обрезалось 100 слов/символом(все равно) с начала текста. Получившийся текст обрезается до первой точки с конца текста. Сделал так без вордпресса ,все работает: Код (Text): <?php $text = 'Читая Яндекс.Новости, я задался вопросом: а почему на своих сайтах я обрезаю тексты до указанного символа, часто оставляя в конце нечитаемый набор букв? Красивее же смотрелось бы, если бы строка обрезалась до целого слова. И толи по сложившейся привычке, толи из интереса я таки решил докопаться до решения, которое наверняка понравится посетителям. Подумаем, как это можно сделать. '; header("Content-Type: text/html; charset=utf-8"); $textpreg=substr($text, 0, strpos($text, ' ', 640)); echo substr ($textpreg, 0, strrpos($textpreg, '.')).'.'; ?> Добавляю в вордпрессе в functions.php : Код (Text): function new_excerpt_length() { $text=get_the_excerpt; header("Content-Type: text/html; charset=utf-8"); $text=substr($text, 0, strpos($text, ' ', 240)); echo substr($text, 0, strrpos($text, '.')).'.'; } add_filter('excerpt_length', 'new_excerpt_length'); Выходит ошибка: Warning: strpos(): Offset not contained in string in /usr/home/www/wwww.com/wp-content/themes/vacity/functions.php Жалуется на строчку $text=substr($text, 0, strpos($text, ' ', 240)); в чем дело понять не могу. помогите.
окончательный вариант такой: Код (Text): $text=get_the_excerpt(); $arr = explode( ' ', $text ); $arr = array_slice( $arr, 0, 50 ); $text = implode( ' ', $arr ); // Этот текст нужно обработать как... unset($arr); echo substr($text, 0, strrpos($text, '.')).'.'; правильно написали что я скобочки забыл,но не это главное, обрезку текста сделал по другому и все заработало.