Автор Тема: Разбиение текста на странице  (Прочитано 9141 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AntiMozg

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.chasm.ru/
Разбиение текста на странице
« : 02 Июля 2006, 00:01:00 »
В бан не отправлять - ибо не совсем о том, о чем пишут обычно :)

Столкнулся с задачей разбить текст постранично в зависимости от его, текста, количества. Проблем не было бы, будь этот текст без форматирования (бишь HTML теги, списки), да еще и создаваемого автоматом в Java редакторе, через админпанель сайта.

Как быть? Количесчтво абзацев не посчитать - код мешает. Стандартизировать тексты - мечта, при этом несбыточная - заказчик не желает. А длинные списки ему, между тем, не нравятся.

Вот такая проблемка. Сижу и тупо пялюсь - ничего в голову не приходит...

Спасибо заранее :)

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Разбиение текста на странице
« Ответ #1 : 02 Июля 2006, 02:47:57 »
Есть идейка, но кажись глупая, что первое в голову вбрело :)
Делаеш автоматический пре-вью, тоесть запускаеш текст а с помощи Java-Script узнаеш вусоту страници, так пусть скрипт на PHP и мучает пока не аптемизирует под даный текст, разбивку на страници, сохраняеш полученые даные и пользуешся ими :)
Не все является тем чем кажется.

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Разбиение текста на странице
« Ответ #2 : 03 Июля 2006, 10:11:39 »
Я бы бегал по тексту посимвольно и считал символы, которые не стоят в тегах. Типа на < подсчет прекращается, на > — возобновляется.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Разбиение текста на странице
« Ответ #3 : 03 Июля 2006, 10:14:08 »
hanslinger
Если уж на то пошло, то проще сразу теги повырезать, посмотреть, гле делать разрывы, затем применить схему на оригинальном тексте.
Но хочется чего-то красивее.
LJ: Backslashed life (rss)

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Разбиение текста на странице
« Ответ #4 : 03 Июля 2006, 10:41:04 »
Какую схему? Если уж вырезать, то надо запоминать длину каждого вырезанного куска, а нафик оно надо.

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Разбиение текста на странице
« Ответ #5 : 03 Июля 2006, 12:17:32 »
Весь прикол, что подсчетом символов вы нечего не добьетесь, так как символы разные по ширине, также возможно, что есть разные сшрифты с разними размерами, да еще плюс перенос слов, тут прийдется сумашедшую вычислительную машину делать для подщета всего этого.
Как уже предлогал, я вижу в этом решение, тоесть выводить текст на сраницу с помощью метода "разделяй и властвуй" и проверят скоко текста вывелось, с помощи Java-Script отпровляет высоту, если много -- делим на 2, если мало то добовляем половину поделеного.. и таким методом подходим к границе допуснимого размера.
Не все является тем чем кажется.

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Разбиение текста на странице
« Ответ #6 : 03 Июля 2006, 12:39:23 »
Kneaz
Бред.

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Разбиение текста на странице
« Ответ #7 : 03 Июля 2006, 12:48:53 »
hanslinger
Тогда предложи лучше?
Не все является тем чем кажется.

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Разбиение текста на странице
« Ответ #8 : 03 Июля 2006, 14:55:17 »
Господа, а не логичнее исходить из содержания, нежели из объемов? ;)
LJ: Backslashed life (rss)

Оффлайн AntiMozg

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.chasm.ru/
Разбиение текста на странице
« Ответ #9 : 03 Июля 2006, 16:11:15 »
Исходя из содержания, сегодня думал над структурой со встроенными якорями, что-то типа:


Текст, текст, текст.

Текст, текст, текст.

Текст, текст, текст.

Таким образом человек в любом месте сможет всунуть подобный коммент, дав железке понять, что тут надо оборваться.
К тому же, если делать так - придется сначала эти комменты в тексте посчитать и в зависимости от наличия вывести кол-во страниц доступных к просмотру, ну а если не обнаружится - вовсе не выводить.


Буду думать как реализовать, потому что готового решения по этому вопросу у меня нет. Если у вас есть - будьте так добры :)

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Разбиение текста на странице
« Ответ #10 : 03 Июля 2006, 16:13:32 »
CGVictor
AntiMozg и я написали почему подсчет символов не прокатывает.
ну а от hanslinger хотел бы услышать причину такого ответа, а не мнение, что в моей версии тебя не устраиват, админ сайта правит текст а потом жмет на кнопку на пару минут(в зависимо от текста) идет расфосовка текста, а по полученым даным мы эти страници показываем посетителем сайта, причем при моей врсии мне всеравно : есть там JavaScript или нет, или тому подобного, что может влиять на размер страници.
Не все является тем чем кажется.

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Разбиение текста на странице
« Ответ #11 : 03 Июля 2006, 16:20:43 »
Kneaz
Ты написал не «почему подсчет символов не прокатывает», а ахинею. Подумай, например, что произойдет, когда пользователь решит изменить размер окна браузера.
AntiMozg
[p]strpos[/p]
[p]preg_match[/p] + PREG_OFFSET_CAPTURE

Оффлайн AntiMozg

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 3
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.chasm.ru/
Разбиение текста на странице
« Ответ #12 : 03 Июля 2006, 16:25:28 »
hanslinger
Ухх, да функции то поиска и подсчета где-то слышал ;), но все равно спасибо.

Мне главное распечатать От page2 и До page3 как бы - вот где я спотыкаюсь :)

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Разбиение текста на странице
« Ответ #13 : 03 Июля 2006, 16:35:02 »
[p]substr[/p] =)

Оффлайн Altaxar

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 222
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.moroseac.ru/
Разбиение текста на странице
« Ответ #14 : 03 Июля 2006, 16:39:04 »
hanslinger
Подумай, например, что произойдет, когда пользователь решит изменить размер окна браузера.

Подумал, какраз об этом, и что при подсчете символов нечего не получится тоже по тойже причине.
То, что с якорями AntiMozg будет делать я хотел довести до афтомотизма, тоесть даеш ограничение по высоте и PHP тебе их проставит.
А проблема с изменением размера окна браузера, под всех не угодиш, а выбераеш оптемальный вариант, как и на любом сайте.
Не все является тем чем кажется.

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28