Formatowanie łańcuchów
Usuwanie z tekstu pustych przestrzeniu - trim()
Funkcja trim() usuwa białe znaki (symbol nowego wiersza \n, powrotu karetki \r, tabulacji \t, znaki końca wiersza \0 oraz spacje) znajdujące się przed tekstem oraz za tekstem. Jeżeli chcemy "przyciąć" tekst tylko po stronie lewej stosujemy funkcję ltrim(), natomiast po stronie prawej rtrim().
Ćwiczenie 3_1_0_1. Usuwanie białych znaków - testowanie funcji trim()
Zastosuj jeden plik z następującym skryptem skryptem PHP.
<body>
<pre>
<?php
$tekst=' Ala ma kota
';
echo $tekst;
echo '<br />';
$tekst=trim($tekst);
echo $tekst;
?>
</pre>
</body>
Spójrz na drugi wiersz wyświetlonych tekstów. Wielokrotne spacje pomiędzy wyrazami ma oraz kota pozostały. Obcięte zostały białe znaki na zewnątrz tekstu.
Przystosowanie tekstu do kodu HTML- nl2br()
Wiemy, że HTML ignoruje wielokrotne spacje, czy znaki końca wiersza. Tekst jest wyświetlany w jednej linnii a nowy wiersz jest wymuszany może być jedynie rozmiarami elementu w którym tekst się znajduje. Fukcja nl2br(), zastępuje znaki końca wiersza łańcuchem '.
'
Ćwiczenie 3_1_0_2. Znaki końca wiersza w kodowaniu HTML
Zastosuj jeden plik z następującym skryptem skryptem PHP.
<body>
<?php
$tekst='To jest jakiś długi tekst, składający się z kliku wierszy, to jest wiersz 1;
To jest jakiś długi tekst, składający się z kliku wierszy, to jest wiersz 2;
To jest jakiś długi tekst, składający się z kliku wierszy, to jest wiersz 3;
To jest jakiś długi tekst, składający się z kliku wierszy, to jest wiersz 4;
To jest jakiś długi tekst, składający się z kliku wierszy, to jest wiersz 5';
echo $tekst;
echo '<br /><br />';
$tekst=nl2br($tekst);
echo $tekst;
?>
</body>
Formatowanie do wyświetlenia - printf()
Do wyświetlania stosowaliśmy do tej pory echo, które należy do składni języka, natomiast print() jest funkcją i zwraca true lub false - w przypadku niepowodzenia. Działanie echo oraz print() jest identyczne, wyświetlają łańcuch taki jaki jest, bez dodatkowego formatowania.
Jeżeli chcemy zastosować formatowanie, należy zastosować funkcję printf(), której prototyp wygląda następująco: int printf(string string format [.mixed argumenty...]). Pierwszy parametr, to łańcuch opisujący kształt wyświetlanych danych, natomiast pozostałe parametry to zmienne, które są podstawiane do formtowanego łańcucha.
Ćwiczenie 3_1_0_3. Formatowanie do wyświetlenia za pomocą printf()
Zastosuj jeden plik z następującym skryptem skryptem PHP.
<body>
<?php
$wartosc=25.4;
echo "Wartość wynosi $wartosc"; echo '<br />';
print("Wartość wynosi $wartosc"); echo '<br />';
printf("Wartość wynosi %s", $wartosc); echo '<br />';
//% - wyznacznik konwersji, %s - zamień na ciąg
printf("Wartość wynosi %.2f", $wartosc); echo '<br />';
?>
</body>
W kodzie widzimy wyznacznik konwersji, którego konstrukcja jest następująca:
% ['znak dopełnienia][-][szerokość][.dokładność]typ.
-
Znak dopełnieniajest opcjonalny (dlatego pokazany jest w nawiasach kwadratowych), rozszerza on zmienną do określonej szerokości np. dodanie zer poprzedzająych liczbę w stylu02. Domyślnie znakiem dopełnienia jest spacja. Każdy znak poza spacją lub zerem należy poprzedzić znakiem apostrofu. -
Znak
-jest opcjonalny i wskazuje, że dane w polu mają być wyrównane do lewej strony zamiast domyślnej - prawej. -
Parametr
szerokośćzaczyna sie kropką i podaje liczbę miejsc po przecinku. -
typokreślany jest jednym z kodów:-
b - zinterpretować jako
integeri wyświetlić jako liczbę binarną -
c - zinterpretować jako
integeri wyświetlić jako znak -
d - zinterpretować jako
integeri wyświetlić jako liczbę dziesiętną -
f - zinterpretować jako
doublei wyświetlić jako liczbę zmiennoprzecinkową -
o - zinterpretować jako
integeri wyświetlić jako liczbę ósemkową -
s - zinterpretować jako
stringi wyświetlić jako łańcuch -
u - zinterpretować jako
integeri wyświetlić jako liczbę dziesiętną bez znaku -
x - zinterpretować jako
integeri wyświetlić jako liczbę szesnastkową z małymi literami a-f -
y - zinterpretować jako
integeri wyświetlić jako liczbę szesnastkową z dużymi literami A-F
-
b - zinterpretować jako
Jeżeli zapomniałeś jak przygotować i gdzie zapisywać pliki testowe: