<< Tilbage

String functions

Der er et hav af string functions indbygget i php som man bruger til at manipulere strenge med (fjerne bestemte bogstaver, tage bestemte dele ud, dele et ord op osv.). Her er en gennemgang af de hyppigst benyttede:

Erstat et ord med et andet

Str_replace() funktionen er meget nyttig, og bruges til at erstatte et tegn (eller ord) med noget andet i en variabel. Eksempel, forestil dig at vi gerne vil erstatte ordet "fuck" i en variabel med "biiip", det kan man bruge str_replace til:

Kode:
1.
2.
3.
4.
5.
<?php
$str 
"Idiot, fuck dig!"//Streng med en tilfældig sætning, "fuck" skal erstattes
$str str_replace("fuck","biip"$str);
echo 
$str;
?>
Resultat:
Idiot, biip dig!

Det fungerer altså på den måde at man angiver hvilket ord der skal erstattes, hvad det skal erstattes med og hvor det skal ske. Man kan også bruge funktionen til at fremhæve enkelte ord, ved at kombinere det med html. Eks.:

Kode:
1.
2.
3.
4.
5.
<?php
$str 
"Flere er enige om at PHP er et godt sprog";
$str str_replace("PHP""<b>PHP</b>"$str);
echo 
$str;
?>
Resultat:
Flere er enige om at PHP er et godt sprog

Man kan sagtens komme ud for at skulle erstatte mange ord/tegn, og så er det en fordel af kombinere med et array. Eksempel:

Kode:
1.
2.
3.
4.
5.
6.
<?php
$ord_der_skal_erstattes 
= array("fed","idiot");
$erstat_ord_med = array("erotisk buttet","abekat");
$erstat_i "Han er fed og en kæmpe idiot";
echo 
str_replace($ord_der_skal_erstattes$erstat_ord_med$erstat_i);
?>
Resultat:
Han er erotisk buttet og en kæmpe abekat

Ordene fra et første array bliver altså erstattet med ordet der har den tilsvarende position i det næste array.

Tage dele af en streng ud

Substr() funktionen bruges til at bestemte dele af et ord ud. Defination er ret simpel: substr($streng, $start, $laengde). Det forklares bedst ved at tage udgangspunkt i et eksempel.

Forestil dig en tekst (f.eks. nyhedsartikler eller mails) hvor vi gerne vil præsentere brugeren for de første 30 tegn. Så kan man gøre det vha. substr() på følgende måde:

Kode:
1.
2.
3.
4.
5.
6.
7.
<?php
$str 
"Lorem ipsum dolor sit amet, consectetuer adipiscing elit"//Tekst gemt i en variabel
$start 0//Hvor ønsker vi at starte? 0 er fra begyndelsen af strengen
$langde 30//Vi tager 30 tegn frem
$forkortet substr($str$start$langde); //Udfør funktionen, og gem resultatet i en variabel
echo $forkortet//Skriv indholdet af variablen ud på skærmen
?>
Resultat:
Lorem ipsum dolor sit amet, co

Hvor mange tegn er der i en variabel?

Til at finde ud af hvor mange tegn en variabel består af benyttes funktionen strlen($str). Et eksempel:

Kode:
1.
2.
3.
4.
5.
<?php
$str 
"Her er en tilfældig sætning"//definer i en tilfældig variabel
$antal_tegn strlen($str); //Hvor mange tegn er der i den
echo "Variablen har: ".$antal_tegn." tegn"//Skriv resultat ud på skærmen
?>
Resultat:
Variablen har: 27 tegn

Del en streng op

I php kan man dele/separere en variabel med funktionen explode(). I praksis kunne det være at man havde en tekstfil med nogle kommaseparerede værdier som man ønskede bruge i sit script. Et eksempel:

Kode:
1.
2.
3.
4.
<?php
$navne 
"Ole Henriksen, Jens Otto, Anders Jensen, Peter Petersen"//Nogle navne adskilt med komma
$opdelt explode(","$navne); //Del strengen op med , som separater
?>

$opdelt er et array med et navn på hver position:

Array
(
    [0] => Ole Henriksen
    [1] => Jens Otto
    [2] => Anders Jensen
    [3] => Peter Petersen
)
Det første parameter i explode funktionen er hvilken såkaldt separater man ønsker at benytte, dvs. hvilket tegn den skal bruge til at splitte strengen op (i eksemplet: , ).

Samle et array til en streng

Ønsker man at gøre det modsatte af funktionen ovenfor explode() så kan man bruger implode(). Den tager alle elementerne fra et array og samler dem i en streng. Eksempel:

Kode:
1.
2.
3.
4.
5.
<?
$navne_ar 
= array("Anders And""Andersine And""Joachim Von And");
$navne implode(", "$navne_ar);
echo 
$navne;
?>
Resultat:
Anders And, Andersine And, Joachim Von And

Leder du efter billige usb stik?, så kan du få et Billigt USB stik hos usb.dk

Spørgsmål/forslag/kommentarer rettes til webmaster@phpartikler.dk

Billige USB stik