|
|
|
[FreeBSD] форматирование (центрирование) текста при выводе echo
|
|||
|---|---|---|---|
|
#18+
Доброго вечера труЪ-бородатым админам =) Вот незадача, написал огромнейший скрипт, который выводит множество различных сообщений. Для более удобного анализа решил выводить различные заголовки, даже написал специальную функцию для этого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Для пущей красоты хотелось бы, чтобы текст echo " $1 " выводился по середине экрана. В качестве эталонной меры ширины экрана выбрал значение в 75 символов, так рекомендуют на всяких сомнительных сектантских FreeBSD форумах. Подскажите, пожалуйста, как с левой стороны сделать нужное количество пробелов? Что-то типа: Код: plaintext Может и правда проще снова на PHP решить задачу? =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 03:17 |
|
||
|
[FreeBSD] форматирование (центрирование) текста при выводе echo
|
|||
|---|---|---|---|
|
#18+
Из-за такого пустяка ставить целый PHP - глупость. Есть гораздо более простое решение: http://sed.sourceforge.net/sed1line.txt # center all text in the middle of 79-column width. In method 1, # spaces at the beginning of the line are significant, and trailing # spaces are appended at the end of the line. In method 2, spaces at # the beginning of the line are discarded in centering the line, and # no trailing spaces appear at the end of lines. sed -e :a -e 's/^.\{1,77\}$/ & /;ta' # method 1 sed -e :a -e 's/^.\{1,77\}$/ &/;ta' -e 's/\( *\)\1/\1/' # method 2Подойдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 03:52 |
|
||
|
[FreeBSD] форматирование (центрирование) текста при выводе echo
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Ы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 04:24 |
|
||
|
[FreeBSD] форматирование (центрирование) текста при выводе echo
|
|||
|---|---|---|---|
|
#18+
Жесть, конечно.... Опцию php -r уже отменили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 11:45 |
|
||
|
[FreeBSD] форматирование (центрирование) текста при выводе echo
|
|||
|---|---|---|---|
|
#18+
# man printf или [ FreeBSD ] так не умеет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 12:25 |
|
||
|
[FreeBSD] форматирование (центрирование) текста при выводе echo
|
|||
|---|---|---|---|
|
#18+
fandr, ># man printf Вроде как в самом printf не предусмотрено выравнивание по центру. Или ошибаюсь? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 12:53 |
|
||
|
[FreeBSD] форматирование (центрирование) текста при выводе echo
|
|||
|---|---|---|---|
|
#18+
vkle, ни разу не слышал об опции php -r. Вариант с sed работает, но только в командной строке, как только вставляю его внутрь функции — выравнивать прекращает. fandr, моя цель — не чтение мануалов и забивание мозга всяким ненужным хламом, а решение конкретной задачи. Компрендо? Свои советы читать маны своим детям давать будете. Да и сам printf вроде как умеет делать заданное количество отступов, но только с одной стороны — слева или справа. Но высчитывать нужное их количество вроде как не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 15:53 |
|
||
|
[FreeBSD] форматирование (центрирование) текста при выводе echo
|
|||
|---|---|---|---|
|
#18+
курозаврикvkle, ни разу не слышал об опции php -r. Вполне естественно, php --help и прочие мануалы - не для Вас. курозаврикВариант с sed работает, но только в командной строке, как только вставляю его внутрь функции — выравнивать прекращает. Прекрасно работает и в функции. Показывайте, как вставляли, как использовали.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2011, 17:41 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=37365061&tid=1484120]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
226ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 577ms |

| 0 / 0 |
