|
|
|
| Здравствуйте.
Есть текст, набранный в визуальном редакторе. Если он будет слишком длинным нужно его скриптом автоматически разбить на страницы. Если это был бы просто текст можно было бы сделать проще: разбить по количеству слов или предложений (и тут есть вероятность, что разбивка произойдет где-нибудь в середине списка или еще какой ляп). У меня же текст с тегами, спецсимволами и другим мусором. Я мог бы ввести особый тег, но заказчик эти теги на дух не переносит. По какому критерию разбивать подобный текст? Кто-нибудь сталкивался? | |
|
|
|
|
|
|
|
для: antf
(19.01.2009 в 10:12)
| | Я в библиотеке резал текст по признаку "хорошего тона наборщика" - начало нового предложения можно связать с комбинацией ". "
Ни в коем случае не предлагаю Вам делать именно так же, я к тому, что вопрос помоему имеет настолько много решений, что найти идеальное сможете только Вы =) | |
|
|
|
|
|
|
|
для: antf
(19.01.2009 в 10:12)
| | Придется строить дерево тегов... | |
|
|
|
|
|
|
|
для: Loki
(19.01.2009 в 10:18)
| | Что это за штука? Как она поможет? А главное - какой критерий? | |
|
|
|
|
|
|
|
для: antf
(19.01.2009 в 10:24)
| | а если сделать как в Joomla - вставлять <hr class="page-break">
там есть класс, который при выводе делить текст по этим тэгам на куски и выводит куски на нужной странице | |
|
|
|
|
|
|
|
для: elenaki
(19.01.2009 в 11:31)
| | я так понял, что текст уже готов. | |
|
|
|
|
|
|
|
для: Trianon
(19.01.2009 в 11:45)
| | Текст набивает пользователь в редакторе, в форме. | |
|
|
|
|
|
|
|
для: antf
(19.01.2009 в 11:58)
| | тогда это называется не "Есть текст, набранный в визуальном редакторе" , а "Есть визуальный редактор, в котором пользователь набирает тексты."
Сам редактор с деревом тегов и работает. | |
|
|
|
|
|
|
|
для: elenaki
(19.01.2009 в 11:31)
| | Неплохая идея, если поменять немного. Использовать <hr> как разделитель страницы. Тут сам пользователь может вставлять тег, никаких bb, все визуально и просто. Никаких текстовых казусов, связанных с автоматическим разбиением. Поменять только альт у кнопки редактора (учитывая что там всего 3 кнопки: жирный, курсив, подчеркнутый пользователь ее не потеряет) Надеюсь, она есть (tinymce). Надо рассмотреть возможность, ну еще добрая воля заказчика... | |
|
|
|
|
|
|
|
для: antf
(19.01.2009 в 10:24)
| | В нормальном форматированном тексте есть смысловые единицы (параграфы, списки и т.д.)
Вот их надо считать и строить правила разбиения.
Т.е. например на странице должно быть 2000 символов. Отсчитываем и смотрим куда попали. если в блок, то желательно либо весь этот блок перенести на следующую страницу либо весь оставить на текущей, в зависимости от того в какой его половине находится этот 2000-ый символ.
Плюс, если есть изображения, можно учитывать и их размеры, чтоб страница не получалась слишком длинной визуально. | |
|
|
|
|
|
|
|
для: antf
(19.01.2009 в 10:24)
| | Это примерно то, что делает броузер при парсинге html страницы. В результате, должна получиться в виде дерева структура документа. Имея это дерево уже можно с ним творить что захочется. Но геморрой, конечно, жуткий. | |
|
|
|