Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

Mål Gjennomgå deler av de mest brukte funksjonene relatert til

Liknende presentasjoner


Presentasjon om: "Mål Gjennomgå deler av de mest brukte funksjonene relatert til"— Utskrift av presentasjonen:

1 Innebygde funksjoner for å behandle strenger, datoer og matriser (Kapittel 6)

2 Mål Gjennomgå deler av de mest brukte funksjonene relatert til
Strenger Matriser Datoer Lære å slå opp og finne frem i PHP manualen Forstå hvordan du kan beskytte deg mot XSS (Cross Site Scripting)

3 Innebygde funksjoner PHP har totalt 5000 innebygde funksjoner fordelt på ca. 80 tillegg (extensions) Antall tilgjengelige funksjoner avhenger av hvor mange tillegg som er installert Alle funksjoner som presenteres her er endel av basisfunksjonaliteten og er tilgjengelig i alle installasjoner av PHP

4 Hvorfor innebygde funksjoner?
Gjennbruk av mest vanlig funksjonalitet Du trenger ingen tredjeparts kode eller rammeverk for å programmere PHP da det finnes innebygde funksjoner for å løse de fleste oppgaver Hastighet Alle innebygde funksjoner er skrevet i C, kompilert til maskinkode og vil derfor kjøres raskere enn PHP-kode De er i tillegg vel etablert og optimalisert for rask eksekvering

5 Strengbehandling Manipulasjon og informasjon om strenger som f.eks:
Finne lengden av en streng Hente ut deler av en streng Fjerne deler av en streng

6 Lengden av en streng strlen() returnerer lengden av en streng <?php
$streng = 'abcdef'; echo strlen($streng); $streng = ' ab cd '; ?> strlen() returnerer lengden av en streng

7 Hente ut deler av en streng string substr(string string, int start[, int length])
<?php echo substr('abcdef', 1); // bcdef echo substr('abcdef', 1, 3); // bcd echo substr('abcdef', 0, 4); // abcd echo substr('abcdef', 0, 8); // abcdef echo substr('abcdef', -1, 1); // f $string = 'abcdef'; echo $string[0]; // a echo $string{3}; // d echo $string{strlen($string)-1};// f ?> substr() brukes for å hente ut deler av en streng Du kan også bruke krøllparanteser eller klammeparanteser for å hente ut ett tegn

8 Eksempel med negativ start verdi
Dersom start-verdien er negativ vil substr() returnere det n'te tegnet <?php echo substr("abcdef", -1); // "f" echo substr("abcdef", -2); // "ef" echo substr("abcdef", -3, 1); // "d" ?>

9 Eksempel med negativ lengde
Dersom lengde-verdien er negativ vil substr() fjerne det antall tegn fra slutten av strengen <?php echo substr("abcdef", 0, -1); // "abcde" echo substr("abcdef", 2, -1); // "cde" echo substr("abcdef", 4, -4); // "" echo substr("abcdef", -3, -1); // "de" ?>

10 Endre til små bokstaver string strtolower(string string)
strtolower() brukes til å gjøre alle bokstaver i en streng små <?php $str = "Henrik behandles som en KONGE!"; $str = strtolower($str); echo $str; // henrik behandles som en konge! ?>

11 Endre til store bokstaver string strtoupper(string string)
strtoupper() brukes til å gjøre alle bokstaver i en streng store <?php $str = "Henrik behandles som en KONGE!"; $str = strtoupper($str); echo $str; // HENRIK BEHANDLES SOM EN KONGE! ?>

12 Stor forbokstav string ucfirst(string str)
En egen funksjon ucfirst() kan brukes til å gi en streng stor forbokstav <?php $foo = 'hello world!'; $foo = ucfirst($foo); // Hello world! $bar = 'HELLO WORLD!'; $bar = ucfirst($bar); // HELLO WORLD! $bar = ucfirst(strtolower($bar)); // Hello world! ?>

13 Fjerne blanke tegn string trim(string str [,string charlist])
trim() kan brukes for å fjerne ulike tegn fra en streng ltrim() fjerner blanke tegn fra begynnelsen av en streng rtrim() fjerner blanke tegn fra slutten av en streng <?php $str = "\t\tDette er noen ord :) ... "; echo trim($str); // "Dette er noen ord :) ..." echo trim($str, " \t."); // "Dette er noen ord :)" ?>

14 Bytt ut en del av en streng mixed str_replace(mixed search, mixed replace, mixed subject [,int &count]) str_replace() bytter ut alle forekomster av en søkestreng med en erstatningsstreng <?php $str = “Hello World!”; echo str_replace('World', 'Moon', $str); ?> Hello Moon!

15 XSS (Cross Site Scripting)
Stol aldri på klient-data, brukeren kan skrive hva han vil (f.eks: javascript) To forskjellige løsninger for å bøte på problematikken: Filtrere ut og fjerne eventuelle HTML tagger på vei inn Kode om input streng til HTML entiteter slik at nettleseren ikke tolker taggene som tagger

16 Fjern HTML og PHP tagger string strip_tags(string str [,string allowable_tags])
strip_tags() fjerner HTML tagger fra en streng Tillatte tagger kan sendes med som andre argument <?php $str = '<p>Noe tekst.</p> <!-- Kommentar --> Noe mer tekst'; echo strip_tags($str); echo "\n"; // Tillat <p> echo strip_tags($str, '<p>'); ?> Noe tekst. Noe mer tekst <p>Noe tekst.</p> Noe mer tekst

17 Konverter til HTML entiteter
Konvertere spesielle HTML tegn til HTML entiteter kan gjøres med htmlentities() Det fører til at nettleseren <?php $str = "<p>En paragraf</p>"; echo htmlentities($str); ?> <p>En paragraf</p>

18 Matrisefunksjoner

19 Ofte brukte matrisefunksjoner
array_unshift() / array_shift() Legger til og trekker fra et element på begynnelsen av en matrise array_push() / array_pop() Legger til og trekker fra et element på slutten av en matrise array_rand() Returnerer en eller flere tilfeldige elementer fra en matrise

20 Ofte brukte matrisefunksjoner
count() Retunerer antall elementer i en matrise shuffle() Blander elementene i en matrise i en tilfeldig rekkefølge array_keys() Returnerer alle nøkkelverdiene til matrisen

21 Ofte brukte matrisefunksjoner
sort() Sorterer verdiene i en matrise i stigende rekkefølge implode() / explode() Konvertering til streng fra matrise og omvendt in_array() Sjekker om en verdi eksisterer i matrisen is_array() Sjekker om en variabel er en matrise

22 Datofunksjoner Datoer representeres med et tidsstempel
Antall sekunder fra 1.januar 1970 (Unix timestamp) Formattering av dato gjøres alltid på et tidsstempel Validering av dato

23 Formattering av dato/tid string date(string format[, int timestamp])
date() returnerer en ferdig formatert datostreng basert på en formatteringsstreng Et tidsstempel kan brukes for å sette tiden som skal formateres <?php echo date('d.m.Y'); // echo date('H:i:s'); // 08:30:00 ?>

24 Hva er tiden akkurat nå? int time(void)
time() returnerer antall sekunder siden 1.januar (Unix timestamp) <?php echo time(); ?> Resultat: // formatering av tid echo date('d.m.Y H:i:s', time()); :30:00

25 Opprett et tidsstempel int mktime([int hour[, int minute[, int second[, int month [, int day[, int year[, int is_dst]]]]]]]) mktime() brukes til for å lage et tidsstempel basert på argumentlisten <?php echo date("d.m.Y", mktime(0, 0, 0, 12, 32, 1997)); echo date("d.m.Y", mktime(0, 0, 0, 13, 1, 1997)); echo date("d.m.Y", mktime(0, 0, 0, 1, 1, 1998)); echo date("d.m.Y", mktime(0, 0, 0, 1, 1, 98)); ?>

26 Hent dato og tidsinformasjon array getdate([int timestamp])
getdate() returnerer en assosiativ matrise med all datoinformasjon om tidsstempelet <?php $idag = getdate(); print_r($idag); ?> Array ( [seconds] => 30 [minutes] => 58 [hours] => 8 [mday] => 17 [wday] => 3 [mon] => 2 [year] => 2006 [yday] => 39 [weekday] => Wednesday [month] => February [0] => )

27 Sjekk gyldigheten av en dato bool checkdate(int month, int day, int year)
<?php // sjekk siste dagen i året var_dump(checkdate(12, 31, 2000)); // sjekk 29.februar 2001 var_dump(checkdate(2, 29, 2001)); // sjekk 29.februar 2000 var_dump(checkdate(2, 29, 2000)); ?> bool(true) bool(false) checkdate() returnerer sann dersom argumentene representerer en gyldig dato (det taes høyde for skuddår)

28 Gjør om tekst til tidspunkt int strtotime(string time[, int now])
strtotime() konverterer en engelsk tekstlig beskrivelse av dato og tid til et tidsstempel <?php echo strtotime("now"); echo strtotime("10 September 2000"); echo strtotime("+1 day"); echo strtotime("+1 week"); echo strtotime("+1 week 2 days 4 hours 2 seconds"); echo strtotime("next Thursday"); echo strtotime("last Monday"); ?>

29 PHP Manual Referanser Strengbehandling Matrisefunksjoner
Webprogrammering (LO113A)ttp://no.php.net/manual/en/ref.strings.php Matrisefunksjoner Webprogrammering (LO113A)ttp://no.php.net/manual/en/ref.array.php Datofunksjoner Webprogrammering (LO113A)ttp://no.php.net/manual/en/ref.datetime.p hp


Laste ned ppt "Mål Gjennomgå deler av de mest brukte funksjonene relatert til"

Liknende presentasjoner


Annonser fra Google