Kod już jest napisany wewnątrz PHP. Wy tylko wołacie funkcję po nazwie, z właściwymi argumentami.
strlen("Ala ma kota");
// ciała funkcji nie widzicie - jest w PHP
Samych funkcji operujących na tekście (napisach) jest w PHP ponad sto, od addcslashes() do wordwrap().
PHP Manual: przegląd funkcji operujących na łańcuchach znaków (napisach), od addcslashes() do wordwrap() · php.net/manual/en/ref.strings.php
Część 1 · Funkcja, co robi, przykład
Cztery funkcje na start
Ciekawostka z PHP Manual: strlen() liczy bajty, nie znaki. Napis "zł" ma 3 bajty w kodowaniu UTF-8 („z” to 1 bajt, „ł” to 2 bajty), więc strlen("zł") zwróci 3, choć w napisie są 2 znaki. Do poprawnego liczenia polskich liter służy mb_strlen().
PHP Manual: function.strlen.php, function.trim.php, function.strtoupper.php, function.str-replace.php · ciekawostka: „strlen() returns the number of bytes rather than the number of characters in a string” · php.net/manual/en/function.strlen.php
Część 2 · trim() czyści krawędzie napisu
trim(): przed i po
PHP Manual: „Strip whitespace (or other characters) from the beginning and end of a string” · php.net/manual/en/function.trim.php
Część 3 · str_replace() zamienia fragment
str_replace(): zamiana kafelka
PHP Manual: „Replace all occurrences of the search string with the replacement string” · php.net/manual/en/function.str-replace.php
Egzamin INF.03
Tak pytają na egzaminie
1. Która z przedstawionych funkcji języka PHP zamieni słowo „kota” na słowo „mysz” w napisie „ala ma kota”?
replace("ala ma kota", "kota", "mysz");
replace("kota", "mysz", "ala ma kota");
str_replace("ala ma kota", "kota", "mysz");
str_replace("kota", "mysz", "ala ma kota");
2. W celu zmodyfikowania tekstu „ala ma psa” na „ALA MA PSA” należy użyć funkcji PHP
strtoupper('ala ma psa');
strtolower('ala ma psa');
ucfirst('ala ma psa');
strstr('ala ma psa');
CKE, EE.09, styczeń 2021, zadanie 10 · CKE, E.14, styczeń 2018, zadanie 36 (bank pytań, przedmiot strony, temat php)
Ćwiczenie przy komputerze · 20 minut
Ćwiczenie: string-functions.php
W folderze swojego serwera (htdocs) utwórz plik string-functions.php z linią $text = " Ala ma kota ";.
Zapisz do $trimmed wynik trim($text) i wypisz w nawiasach kwadratowych: echo "[" . $trimmed . "]"; - ma być widać, że spacje zniknęły.
Zapisz do $upper wynik strtoupper($trimmed) i wypisz.
Zapisz do $replaced wynik str_replace("kota", "psa", $trimmed) i wypisz.
Sprawdź w przeglądarce pod localhost/string-functions.php.
Ma się pojawić:[Ala ma kota], potem ALA MA KOTA, potem Ala ma psa.
Zasady pracowni
Na koniec
Sprawdź się
Czym różni się funkcja wbudowana od funkcji, którą sami zdefiniowaliście na poprzednich lekcjach?
Co zwróci trim(" Ala ma kota ") - jaki napis i o ile krótszy od oryginału?
W jakiej kolejności str_replace() przyjmuje argumenty: czego szuka, na co zamienia, w czym szuka?
Na następnej lekcji: gotowe funkcje na liczby i typy danych.
Poza szkołą
A jak to wygląda w produkcji?
Na lekcji
W produkcji
Status
Cztery pojedyncze funkcje tekstowe wołane jedna po drugiej
Wywołania łączone we własnej funkcji pomocniczej (np. cleanText()), żeby nie powtarzać tych samych kroków w wielu miejscach kodu.
nadal w użyciu
str_replace() do zamiany jednego, znanego z góry słowa
Do bardziej złożonych wzorców (np. wiele wariantów pisowni naraz) używa się funkcji z rodziny wyrażeń regularnych, np. preg_replace().
nadal w użyciu
Sprawdzanie wyniku funkcji przez echo w przeglądarce
Testy jednostkowe (np. narzędzie PHPUnit) sprawdzają wynik funkcji automatycznie, bez patrzenia w przeglądarkę.