1 / 15

Web-programmering

Web-programmering. Stringmanipulasjon , RegEx og validering. I dag. Strengmanipulering RegEx Validering Kodegjennomgang Oppgaveløsning på lab. Innebygde stringfunksjoner. $ antall_tegn = strlen ($tekst );. $antall_ord = str_word_count ($tekst);.

amos
Download Presentation

Web-programmering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Web-programmering Stringmanipulasjon, RegEx og validering

  2. I dag • Strengmanipulering • RegEx • Validering • Kodegjennomgang • Oppgaveløsning på lab.

  3. Innebygde stringfunksjoner $antall_tegn = strlen($tekst); $antall_ord = str_word_count($tekst); $antall_ord_dag = substr_count($tekst,"dag"); $smaa_bokstaver = strtolower($tekst); $store_bokstaver = strtoupper($tekst); $baklengs = strrev($tekst); $lengde = strlen($tekst);

  4. Innebygde stringfunksjoner forts $tall = strcasecmp($tekst1,$tekst2); Sammenligner tekst1 og tekst2 ikke case sensitivt. Returnerer 0 dersom de er like. Eks: $e-post1 = ”tor.krattebol@iu.hio.no”; $e-post2 = ” Tor.Krattebol@Iu.Hio.no ”; if(!strcasecmp($e-post1,$epost-2) { echo ”Samme epostadresse!”; }

  5. Innebygde stringfunksjoner forts $tekst = nl2br ($tekst); Konverterer \n til <br/>. Brukes når f.eks en fil skal vises på skjermen. Eks: $tekst = ”Dette er første linje\n\r Dette er andre linje”; $resTekst = nl2br($tekst); Dette er første linje<br/>Dette er andre linje

  6. Innebygde stringfunksjoner forts $tekst = strip_tags($tekst); Tar vekk evt. HTML tag’er i en tekst. Eks: $tekst = ”E-post:<a Href=’2.php’>per@hio.no<a/>”; $restekst =strip_tags($tekst); echo $restekst; E-post: per@hio.no

  7. Innebygde stringfunksjoner forts $posisjontekst= strpos($høystakk, $nål); Finner posisjonen i strengen $høystakk der $nål starter. Returnerer FALSE dersom $nål ikke finnes. (Case sensitivt!) Eks: $tekst = ”E-post:<a Href=’2.php’>per@hio.no<a/>”; $pos =strpos($tekst,”Href”); echo $pos; 10

  8. Innebygde stringfunksjoner forts $tekst = str_replace($subTekst,$subTekstTil,$tekst); Bytter $subTekst med $subTekstTil i $tekst dersom denne finnes. Eks: $tekst = ”E-post:<a Href=’2.php’>per@hio.no<a/>”; $resTekst =str_replace(”@”,”(a)”,$tekst); echo $resTekst; Ikke helt riktig da html-tagene ikke vil vises E-post:<a Href=’2.php’>per(a)hio.no<a/>

  9. Innebygde stringfunksjoner forts $tekst = strstr($høystakk, $nål); Returnerer resten av høystakken fra nålen. Eks: $tekst = ”E-post:<a Href=’2.php’>per@hio.no<a/>”; $resTekst =strstr($tekst,”@”); echo $resTekst; @hio.no<a/> Ikke helt riktig da html-tagene ikke vil vises

  10. Innebygde stringfunksjoner forts $tekst = substr($tekst, $start,$lengde); Returnerer resten av $tekst fra startposisjonen $start. $lengde kan sløyfes. Eks: $tekst = ”E-post:<a Href=’2.php’>per@hio.no<a/>”; $resTekst =substr($tekst,23,10); echo $resTekst; per@hio.no

  11. Validering • Må sikre at det som skrives inn i HTML skjema gir mening • F.eks • En alder er større enn null • Et telefonnr består bare av tall • At det er skrevet noe inn i obligatoriske felt • At et kredittkortnr er gyldig • At et navn-felt har maks 20 tegn • At et postnr består av 4 siffer

  12. Validering forts. • Validering bør skje både på kilent og server • Server-validering gjøres i PHP • Klient-validering i Java script (tas senere) • For å sjekke om et felt inneholder noe : • if ($_REQUEST[”navn”]==””) • { • echo ”Navn må oppgis”; • }

  13. Validering med RegEx • For å sjekke at navnet bare inneholder bokstaver og er maks 20 tegn $navn = "Per Hansen"; if(!preg_match(”/^[a-åA-Å]{2,20}$/",$navn)) { echo "Navnet er mellom 2 og 20 tegn og inneholder store og små bokstaver i tillegg til mellomrom"; } else { echo "Navnet er feil"; } Funksjonen ereg kommer til å fases ut av PHP, bruk denne med forsiktighet

  14. RegEx ereg(”regex”,$tekst) • Bruk funksjonen preg_match(”/regex/”,$tekst); • Returnerer true/false • Regex-tegn eks: ^ Start på streng $ Stopp streng [123] Tillat 1 eller 2 eller 3 [1-9] Tillat alle tall mellom 1 og 9 [abAB] Tilllat a eller b eller A eller B [ab][12] Tillat a eller b som første tegn, 1 eller 2 som andre

  15. RegEx forts. /^[1-9][a-å][A-Å]$/ Tre tegn, første 1-9, andre a-å, tredje A-Å /^[1-9a-åA-Å]$/ Ett tegn 1-9 eller a-å eller A-Å /^[1-9a-åA-Å]{5}$/ 5 tegn, vert av dem 1-9 eller a-å eller A-Å /^[1-9a-åA-Å]{2,20}$/ Mellom 2 og 20 tegn (som over) /^[1-9a-åA-Å .]{2,20}$/ Som over inkludert mellomrom og punkt /^[0-9]{4}$/ Norsk postnr /^[0-9]{8}$/ Norsk telefonnr /^[+][4][7][0-9]{8}$/ Norsk telefonnr med + 47 foran /^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/ Epostadresse /^((4\d{3})|(5[1-5]\d{2})|(6011))-?\d{4}-?\d{4}-?\d{4}|3[4,7][\d\s-]{15}$/ Kredittkort Søk deg frempånettettil mere komplekseRegEx Feks: http://www.regular-expressions.info/examples.html Ett antall ganger

More Related