Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: вогнать текст в прямоугольную область
 
 автор: SDL   (01.11.2008 в 04:18)   письмо автору
 
 

значит с таким вопросом столкнулся.
у нас есть текст. большой. надо в некоторую прямоугольную область (задается количество символов по ширине и по высоте(строки)) ввести кусок текста, чтобы помещался, не вылезая, ну и потом ссылка далее идет, щелкаешь на ней - переходишь на эту же страницу и видно следующий кусок текста.
надо чтобы текст не выступал за границы (то есть слишком широкие строки не были) и чтобы не опускался (чтобы не было больше строк, чем положено). в каждой строчке слова не обкромсанные, а целые (я WordWrap пользовался для этой цели).

в принципе получается у меня скрипт, НО я сделал это с помощью строк. скрипт медленно работает.. много всяких ф-ий строковых.
я думаю, может есть более простой вариант решения с помощью рег выражений, поэтому в этот форум и написал.. тут нужен 0взгляд и решение опытного человека, так ка возможно я уже велосипед придумал..

  Ответить  
 
 автор: SHAman   (03.11.2008 в 16:13)   письмо автору
 
   для: SDL   (01.11.2008 в 04:18)
 

Если скрипт делается для веба, то не вижу смысла ограничивать ширину строк, потому что это делается через CSS, а не манипуляцией с выводом. Для веба имело бы смысл просто задавать количество символов которое должно выводиться. Для вас оно будет равно желаемая ширина*желаемое количество строк.

Если же скрипт пишется для консоли, то одной регуляркой не отделаться. Да и вообще, гораздо проще просто выводить постепенно, в цикле, следя за тем, сколько символов в выводимом слове, сколько еще осталось в строке. Сколько строк уже вывелось. И не нужно тут особо со строковыми функциями заморачиваться.

Ну и главное. Если вы уж сделали как-то так, что оно работает, но медленно, так почему бы вам не кэшировать результат просто?

  Ответить  
 
 автор: SDL   (03.11.2008 в 23:41)   письмо автору
 
   для: SHAman   (03.11.2008 в 16:13)
 

скрипт я пишу для веба. точнее, написал.
есть варианты с помощью css? как можно сделать, чтобы все же выводилось

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

кстати на счет предложенного вами варианта вывода в цикле - так и делаю. пользуюсь strtok() для поиска новых слов. все вызываемые мной ф-ии - это строковые ф-ии.

  Ответить  
 
 автор: Eugene77   (21.11.2008 в 19:43)   письмо автору
 
   для: SDL   (03.11.2008 в 23:41)
 

<div width="400" height="400" > Число символов входящих в прямоугольную область является линейной функцией её площади и рамера шрифта </div>Так что вам только коэффициент определить.
...
И хвостик до ближайшей точки подровнять.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования