Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Требуется помощь (разбить текст по строкам)


Автор: slang 19.6.2008, 23:14
Не могу сообразить как разбить предложение по строкам :(
Есть строка и N-ое количество строк в которые эту строку нужно вставить.
У каждой строки есть определенное максимальное количество символов.
Разбить строку по пробелам на слова, конечно получилось (explode), а вот как теперь собрать слова в предложение обратно, но с учетом максимально допустимого количества символов в строке с переходом остатка текста на следующую строку сообразить ну ни как не могу :(.
итак... имею:
1. текст, в которой с большой долей вероятности есть пробелы
2. максимальное количество строк для данного текста
3. максимальное количество символов в каждой из строк.
4. сумарное максимальное количество симвлов в тексте.

если 4 < strlen (1), то false
иначе, разбиваем 1 по 2, с учетом 3

может кто додумает...

Автор: krundetz 20.6.2008, 00:09
Я так понимаю есть отдельные слова занесенные в массив.

1. Заводим счетчик текущей длины строки.
2. Находим максимальное количество строк в тексте. Для этого делем максимальное количество символов в тексте на максимальное количество символов в строке.
3. Заводим счетчик количества заполненных строк.
4. Начинаем пробегать массив слов.
5. Находим длину слова.
6. Делаем проверку количества уже сформированых строк.
7. Если оно меньше переходим к пункту 8.
8. Делаем проверку вписывается ли длина слова плюс текущая длина строки плюс пробел в максимальную длину строки.
9. Если оно меньше то увеличиваем текущию длину строки на длину слова и пробел.
10. Заносим слово в текст а после него пробел.
11. Ели больше то обнуляем присваиваем счетчику текущий длины строки длину слова плюс пробел
12. Заносим в текст символ перевода строки слово и пробел.
13. Увеличиваем счетчик клоичества строк на 1.
И так далее повторяем итерации.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)