алгоритм разбиения большого html на страницы
как не меняя исходный текст по умному разбить его на более-менее равные кускиравные с точки зрения показа? или чего?
> регулярки там много
для такой задачи лучше сразу брать html-parser (tidy может тот же) переводить в xhtml, а дальше уже работать, как с xml-ем.
равные с точки зрения показа? или чего?равные с точки зрения длины осмысленного текста (тэги не учитываем)
длина - $maxlenght и $deviation - допустимое отклонение
plain text сделай и потом разбивай кусками по 50 строк или сколько там
plain text сделай и потом разбивай кусками по 50 строк или сколько там"пост не читал, зато я самый умный"
парсит по нодам, потом по абзацам, потом по предложениям, потом по словам.
пока отложу, записал себе в todo ввести систему правил и приоритетов деления (типа делить по абзацам лучше чем отделять заголовок, внутри предложения делить на точке с запятой, а потом на запятой и т. д.)
если когда-нибудь допишу, то запощу сюда
вопрос в тему: не знаешь, можно ли средствами HTML / CSS сделать в html, чтобы при печати колонтитулы были?
а что такое колонтитулы?
значение я знаю, а вот область применимости непонятна. Ну да фиг с ним
Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите. И вообще, весь этот горький катаклизм, который я тут наблюдаю… ©
Оставить комментарий
PooH
подскажите куда копать по сабжуесть большой текст с "неправильной" разметкой: т.е. куски текста заключены в <p> или просто отделены <br> от всего остального, заголовки в <h1> и <div> рандомно
как не меняя исходный текст по умному разбить его на более-менее равные куски
в голову пока пришло только с помощью simple html dom parser разбить текст на ноды, из нодов собирать куски, если кусок слишком большой, то разрезать его по тексту
из трудностей: необходимо сохранить все тэги на своих местах (т.е. обойтись без предварительной "нормализации" текста разрезать по-умному - заголовок на одной странице с абзацем и т.д.
где посмотреть примеры, т.к. пробная версия, которую я написал не очень умно все это делает + регулярки там много, поэтому достаточно дорого выходит
хотелось бы еще написать все более-менее компактно, красиво и расширяемо
пока написал через рекурсию, которая последовательно дробит на составные части, но получилось не очень, в частности приходится заводить множество входных параметров для обрамления новый страниц и т.д.