Lekcje >> Podstawy PHP
Polimax

Drukarnia w Warszawie realizująca druk wizytówek, plakatów jak również fotoksiążki, fotoobrazy i fotokalendarze - z wysyłką na terenie całego kraju.

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łnienia jest opcjonalny (dlatego pokazany jest w nawiasach kwadratowych), rozszerza on zmienną do określonej szerokości np. dodanie zer poprzedzająych liczbę w stylu 02. 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.
  • typ określany jest jednym z kodów:
    • b - zinterpretować jako integer i wyświetlić jako liczbę binarną
    • c - zinterpretować jako integer i wyświetlić jako znak
    • d - zinterpretować jako integer i wyświetlić jako liczbę dziesiętną
    • f - zinterpretować jako double i wyświetlić jako liczbę zmiennoprzecinkową
    • o - zinterpretować jako integer i wyświetlić jako liczbę ósemkową
    • s - zinterpretować jako string i wyświetlić jako łańcuch
    • u - zinterpretować jako integer i wyświetlić jako liczbę dziesiętną bez znaku
    • x - zinterpretować jako integer i wyświetlić jako liczbę szesnastkową z małymi literami a-f
    • y - zinterpretować jako integer i wyświetlić jako liczbę szesnastkową z dużymi literami A-F

Jeżeli zapomniałeś jak przygotować i gdzie zapisywać pliki testowe: