столкнулся с такой проблеммой, из базы вытаскивается ячейка с текстом... как сделать так что бы в другом месте вытаскивать этот текст только первые допустим 250 символов?
Дабы не создавать новую тему, спрошу тут. А как сделать так, чтобы если 250 символов обрывалось на полуслове, доходило до конца? А лучше до точки, причём точки, после которой идёт большая буква. Велика вероятность того, что в тексте может встретиться что-то типа "и т. д." а после этого предложение продолжится.
вообще делай отдельное поле и в нем храни этот нужный кусок текста. так ты будешь контролировать и не произойдет косяков, когда у тебя там хтмл какойто будет храниться и изза обрезки кода отрежется часть закрывающих тегов. или просто в середине текста храни какуюто метку, которая не будет выводиться юзерам, например ::END_LINE::. или хтмл-комментарий. и на пхп вырезать часть от начала строки до вот этой вот метки. саму метку также вырезать.
Придумал такой алгоритм - брать по разрыву строки. Например, есть такой текст: Строка 1. Строка 2. Строка 3. Скрипт ищет первый перевод строки, считает количество символов, если больше 250, эту строку и выводит. Если меньше, берёт вторую строку, и так далее. Но тут есть проблема, а что если в первой или даже неважно какой строке будет, например, 5000 предложений, а только потом перевод строки? Можно отсчитать 250 символов, но тут опять всё упирается в цельность слова. С одной стороны, цельность слова сделать несложно, всего-то и нужно, что проверить, если следующий символ пробел, значит, всё атас. Если нет, проверять, пока не наткнёшься на пробел. Существования слова в 1000 символов, скажем, весьма маловероятно. Это уже какие-то косяки при добавлении контента. Так вот, сложнее сделать именно до конца предложения, а не слова. Описанный выше вариант хорош, но он снижает автоматизацию, а это не есть хорошо в системах, где контент-менеджер не должен вводить краткое описание или что-то типа того. А проверить цельность предложения - не такая простая задача, по крайней мере, для меня.