Ну так смысл этой строки отрезать от текста 200 знаков и чтоб точкой этот кусок заканчивался. Не красиво когда прежложение оборвано. Главное то в том что функция выдает результат который нужен. Только перед этим выдает сообщение об ошибке.
Если текст меньше 200 символов, то тогда будет выдаваться эта ошибка. Не надо брать в кавычки переменнуюв функции substr. Нужно просто писать: $this->out_text=substr($this->out_text, 0, strpos($this->out_text, ".", 200));
Задача такова: Есть текст и нужно сделать к нему анонс. Т.е. взять из этого текста первые 200 знаков (примерно, с точностью до знака здесь не получится ). И чтобы выглядело это красиво надо чтобы этот кусок заканчивался точкой. Функция делает все правильно но выдает ошибку, которая печатается перед анонсом и очень сильно портит компазишин.
PHP: <?php $str = 'text text text text text. text text text text text text text text. text text text. text text text text text. text text text text text text text text. text text text text text text text text. text text text. text text text text text. text text text'; if (strlen($str) > 200) { $pos = strpos($str, '.', 200); if (false === $pos) $pos = strpos($str, ' ', 200); echo (false === $pos) ? substr($str, 0, 200) : substr($str, 0, $pos+1); } else echo $str; ?>
Какой же ты неприятный тип. Вечно ты до чего-то докапаться хочешь. У тебя комплексы? Я не отказываюсь от своих слов. Просто разговор считаю бесполезным.
Ну тогда кидай: 1. Текст. 2. Описание ошибки, которая происходит на этом тексте. 3. Код, в котором происходит ошибка. 4. Строку, в которой происходит ошибка.
История текста накова: текст это статья которая была написана в ворде закинута в индизайн потом закинута обратно в ворду убраны спецсимволы которые используются при верстке типа принудительных переносов не разрывных пробелов и тд. Вощем ваяю сайт газеты
andykey текст, при обработке которого возникает ошибка, в студию. upd: первые 250 символов, если текст слишком большой.
Ура нашел ошибку! Текстов у меня около 200 штук в каждом тексте не меньше 3Кб обрабатывал я их массивом. И при определенных условиях у меня появлялся пустой элемент массива. Вот на этом пустом элементе функция и спотыкалась. А так как количество текстов соответствовало колличеству результатов, поэтому и доперло не сразу. Пришлось вручную по одному элементу проверить. Когда разобрался, к середине ночи, испытал чуйство близкое к оргазму Всем огромное спасибо за участие
Прошу прощения, у меня возникла аналогичная проблема. Получаю текст из блоба и в нем нужно заменить переносы строк на <p>\n : Код (Text): $out_text = ibase_blob_echo($row[0]); $out_text=str_replace( "\r\n" , "<p>\n" , $out_text); echo $out_text; //выводим описание но данная конструкция не работает. Текст на экране выводиться в одну строку, а в просмотре html-кода текст показывается с разбитием на строки. кодировка базы данных win1251 если это имеет значение.