Разбиение текста на страницы
Имеется файл с текстом в кодировке utf-8.
Нужно средствами PHP выводить этот файл в браузер с постраничной навигацией. Очевидный выход: file_get_contents() -> mb_substr() Проблема: приходится считывать весь файл в оперативу. Если бы кодировка была не мультибайтной, то решением было бы: fopen() -> fseek() -> fread() А что делать в моём случае - я не знаю. |
Ответ: Разбиение текста на страницы
Размер файла какой? Он часто видоизменяется? Где и как его модифицируют?
Можно разбитый на части хранить. |
Ответ: Разбиение текста на страницы
Я, наверное, буй, но делаю тупо explode'ом.
|
Ответ: Разбиение текста на страницы
Суть такова:
1) Файл - это текст книги, соответственно не изменяется. 2) Чувак заходит на сайт, выбирает сколько символов на страницу ему показывать. 3) Сайт разбивает текст на страницы по лимиту символов. |
Ответ: Разбиение текста на страницы
блин. Ну вобще накладно каждый раз вжирать всю книгу. Осема накладно.
Но раз чувак риальни сам задаёт кол-во слов то тут уже ничего не попишешь. Система проста и дубова: 1) file_get_contents 2) explode по пробелам 3) -> page * words_perpage .. page * words_perpage + words_perpage * при страницах начиная с 0 Православный вариант для тру пацанов: И заранее заготовленые txt файлы или записи в БД нужного размера выплёвывать. |
Ответ: Разбиение текста на страницы
Randomize, не по словам лимит задаётся, а по количеству символов. Проблема только в том, что в UTF-8 каждый символ занимает не один байт, а от 1 до 4.
|
Ответ: Разбиение текста на страницы
Ну если криетрии не строгие, то лучше прибегнуть к пдф, либо дать им скачать пдф, либо выводить его в броузере - что имхо лучший варриант, т.к. есть такая штука как cache.
Используя html2ps можно конвертить на лету любой html формат, хоть сплошной текст, в pdf, и в будущем выдавать его в броузере, в хедере прописать cache - public и т.п. в итоге, те кто открывал книгу уже, следующий раз, она не будет скачаваться снова, а просто перезагрузиться с локального кэша. |
Ответ: Разбиение текста на страницы
PDF? Sribd'ом что ли (или чем-то подобным) ? Я считаю, что это нет пути.
|
Ответ: Разбиение текста на страницы
Ребята, спрячьте свою фантазию, я wap сайт делаю. Тут даже JavaScript надо избегать для совместимости, а вы уже в pdf зарулили.
|
Ответ: Разбиение текста на страницы
дак что. Предварительно текст рабить не?
|
Ответ: Разбиение текста на страницы
Дело в том, что пользователь сам будет выбирать сколько символов на страницу ему показывать.
|
Ответ: Разбиение текста на страницы
Когда-то тоже мудохался с подобным..
..обязательно UTF-8? с виндовской кодировкой все проще.. PHP код:
|
Ответ: Разбиение текста на страницы
2Fake, если в твоём коде заюзать mb_strlen(), то он будет работать и для UTF-8. Но мы тут обсуждаем как сделать так, чтобы не парсить весь текст постоянно.
|
Ответ: Разбиение текста на страницы
Слушай, а чего ты паришься о таких мелочах, я понимаю ты пишешь для wap, но php выполняет все операции на сервере, и на скорости это не сильно отражается. Дык, почему бы не забить? Если так подумать, в тех же банковских транзакций процессов в уйму раз больше, там и постоянные запросы на другие сервера, ожидание ответов, обработка, разбиение тупых и длинных стрингов, парсить всего-чего приходиться. А ведь покупают, в смысле пользуются операциями оплаты в европе так же часто как и меняют носки, дык, стоит ли того париться насчёт маленькой фигнюшки, когда сомнительно что загрузка книжки - это не так и ёмко..
|
Ответ: Разбиение текста на страницы
MoKa, собственно, я так и сделал и забил. Но всё таки решил спросить булку. Может есть какое-то решение для этого, а я его не знаю. :-D
|
Часовой пояс GMT +4, время: 17:55. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot