Autor wpisu: Tomasz Sh4dow Budzyński, dodany: 29.01.2009 13:44, tagi: php
Jak każdy programista przychodzi czas na to by ułatwić sobie pracę, piszemy dziesiątki albo i setki małych lub większych narzędzi. W 90% przypadków używamy ‘echo’ lub ‘print’ zamiast systemu szablonów i jest to chyba dość oczywiste. Najnormalniej w świecie jest to zbędne i szkoda na to czasu. Ale czemu rezygnować z jakiegoś ładnego formatu, zaznaczenia ważnych rzeczy lub błędów które pojawiły się podczas pracy. W HTML’u nie jest to trudne, użycie stylu nadanie mu koloru czcionki i po sprawie. Sprawa może wyglądać trochę gorzej jeśli (np. tak jak ja) robicie małe skrypty odpalane pod konsolą Linuksa. Tak zazwyczaj tekst jest zawsze biały, a tło czarne. Kolorowanie tekstu pod konsolą jest stosunkowo proste. Trzeba jedynie pamiętać o tym, aby po wyświetleniu treści przywrócić kolor do swojej pierwotnej postaci. Format kolorowania tekstu jest dość prosty, składa się ze znaku specjalnego ESCAPE, oraz definicji kolorów. Aby otrzymać znać ESCAPE użyjemy jego zapisu ósemkowego (Wartość \033, zapisana jako ‘\033‘), zupełnie tak samo jak w konsoli Linuksa oraz funkcji echo. Nastepnie po znaku ‘[‘ może występować do trzech wartości określających fomat tekstu, wszystkie oddzielane od siebie znakiem średnika ‘;’. Cały kod zakańczamy literą ‘m’. W całości kod tworzony jest na takiej zasadzie.
\033[kod_formatujący;kod_koloru;kod_tłam
przykład: \033[1;31mCzerwony gruby napis\033[0m
otrzymamy taką treść Czerwony gruby napis
Oczywiście nie musimy na końcu dawać kodu ‘\033[0m’ ale cała konsola będzie wyświetlać jedynie czerwoną pogrubioną czcionkę do czasu aż zostanie ona zamknięta lub otrzyma kod resetujący ustawienia.
Poniżej podaje listę kodów które można wykorzystać do formatowania konsoli.
Kody formatujące
- 0 – resetuje wszystkie ustawienia
- 1 – pogrubiona
- 2 – przyciemniona czcionka
- 4 – podkreślona
- 5 – mrugająca
- 7 – zamienia miejscami kolor czcionki i tła
Kody kolorów czcionki
- 30 – czarny
- 31 – czerwony
- 32 – zielony
- 33 – brązowy
- 34 – niebieski
- 35 – magenta
- 36 – turkusowy
- 37 – biały
Kody kolorów tła
- 40 – czarny
- 41 – czerwony
- 42 – zielony
- 43 – brązowy
- 44 – niebieski
- 45 – magenta
- 46 – turkusowy
- 47 – biały
Poniżej podaje przykład jak zastosować to praktycznie w kodzie PHP. Szczerze mówiąc jest to jedynie wycinek który wykorzystuje w swoich klasach, można to oczywiście zamienić na normalną funkcję. Używana przeze mnie metoda używana jest aby wyświetlać pokolorowaną treść w konsoli oraz w przeglądarce. Równie dobrze można by zdefiniować wszystkie kolory tła i format czcionek, ale podejrzewam, że każdy może to zmodyfikować w swoim zakresie.
Przykładowa klasa Display której sam używam.
bibliografia: http://www.newlinuxuser.com/linux-console-codes/ http://www.linux.gr/cgi-bin/man2html?console_codes+4 oraz wielkie Google