Stränghantering
Mät, klipp, slå ihop och tvätta text med PHP:s inbyggda strängfunktioner.
De vanligaste funktionerna
| Funktion | Gör | Exempel | Resultat |
|---|---|---|---|
strlen() |
Räknar längden | strlen("hej") |
3 |
trim() |
Tar bort mellanslag före och efter | trim(" hej ") |
"hej" |
substr() |
Plockar ut en delsträng | substr("Programmering", 0, 7) |
"Program" |
strtoupper() |
Gör om till versaler | strtoupper("hej") |
"HEJ" |
strtolower() |
Gör om till gemener | strtolower("HEJ") |
"hej" |
str_replace() |
Byter ut text | str_replace("a", "o", "banan") |
"bonon" |
htmlspecialchars() |
Gör HTML-tecken ofarliga | htmlspecialchars("<b>") |
"<b>" |
Två strängar slås ihop (konkateneras) med punkt: "text 1" . "text 2".
substr("Programmering", 0, 7) börjar på position 0 (första tecknet) och tar 7 tecken.
Skydda mot XSS
Som du såg i modulen om PHP på webben måste text som kommer utifrån tvättas innan den skrivs ut på en sida:
Svenska tecken
strlen() räknar byte, inte tecken. Å, ä och ö tar två byte var i UTF-8, så strlen("åäö") ger 6. Funktionerna som börjar med mb_ räknar tecken:
echo strlen("åäö"); // 6
echo mb_strlen("åäö"); // 3
Det finns motsvarande mb_substr(), mb_strtoupper() och mb_strtolower().
I din egen installation på Windows måste tillägget först slås på. Öppna php.ini och ta bort semikolonet framför de två raderna ;extension_dir = "ext" och ;extension=mbstring. Annars får du felet Call to undefined function mb_strlen(). I portalen fungerar funktionerna direkt.
Enkla och dubbla citattecken
Inom dubbla citattecken byts variabler ut mot sina värden. Inom enkla citattecken skrivs texten ut precis som den står:
$namn = "Anna";
echo "Hej $namn"; // Hej Anna
echo 'Hej $namn'; // Hej $namn
Prova själv
- Skriv ut de tre första tecknen i ditt namn.
- Skriv ut ditt namn med versaler.
- Prova
strlen()ochmb_strlen()på ett ord med å, ä eller ö. - Byt ut alla mellanslag i en mening mot bindestreck med
str_replace().