|
|
|
| значит с таким вопросом столкнулся.
у нас есть текст. большой. надо в некоторую прямоугольную область (задается количество символов по ширине и по высоте(строки)) ввести кусок текста, чтобы помещался, не вылезая, ну и потом ссылка далее идет, щелкаешь на ней - переходишь на эту же страницу и видно следующий кусок текста.
надо чтобы текст не выступал за границы (то есть слишком широкие строки не были) и чтобы не опускался (чтобы не было больше строк, чем положено). в каждой строчке слова не обкромсанные, а целые (я WordWrap пользовался для этой цели).
в принципе получается у меня скрипт, НО я сделал это с помощью строк. скрипт медленно работает.. много всяких ф-ий строковых.
я думаю, может есть более простой вариант решения с помощью рег выражений, поэтому в этот форум и написал.. тут нужен 0взгляд и решение опытного человека, так ка возможно я уже велосипед придумал.. | |
|
|
|
|
|
|
|
для: SDL
(01.11.2008 в 04:18)
| | Если скрипт делается для веба, то не вижу смысла ограничивать ширину строк, потому что это делается через CSS, а не манипуляцией с выводом. Для веба имело бы смысл просто задавать количество символов которое должно выводиться. Для вас оно будет равно желаемая ширина*желаемое количество строк.
Если же скрипт пишется для консоли, то одной регуляркой не отделаться. Да и вообще, гораздо проще просто выводить постепенно, в цикле, следя за тем, сколько символов в выводимом слове, сколько еще осталось в строке. Сколько строк уже вывелось. И не нужно тут особо со строковыми функциями заморачиваться.
Ну и главное. Если вы уж сделали как-то так, что оно работает, но медленно, так почему бы вам не кэшировать результат просто? | |
|
|
|
|
|
|
|
для: SHAman
(03.11.2008 в 16:13)
| | скрипт я пишу для веба. точнее, написал.
есть варианты с помощью css? как можно сделать, чтобы все же выводилось
если строго писать, то условие такое: дан текст (абзацы и т.п.). надо вывести в прямоугольную область (кол-во символов по ширине и по высоте (строки) заданы).
надо именно так, потому как если вдруг получится больше, то текст вылезет за границы дизайна.
кстати на счет предложенного вами варианта вывода в цикле - так и делаю. пользуюсь strtok() для поиска новых слов. все вызываемые мной ф-ии - это строковые ф-ии. | |
|
|
|
|
|
|
|
для: SDL
(03.11.2008 в 23:41)
| | <div width="400" height="400" > Число символов входящих в прямоугольную область является линейной функцией её площади и рамера шрифта </div>Так что вам только коэффициент определить.
...
И хвостик до ближайшей точки подровнять. | |
|
|
|