Avatar billede hairboy2 Nybegynder
11. august 2002 - 14:17 Der er 10 kommentarer og
1 løsning

Genkend noget i string

Jeg har en string der fx ser således ud:

$host="escape1.inet.tele.dk";

Nu vil jeg gerne have et script der leder efter .dk i denne string. Hvis den finder det skal den udføre noget og ellers skal den blot fortsætte uhindret.

Hvordan laver jeg dette mest optimalt?
Avatar billede teaspoon Nybegynder
11. august 2002 - 14:19 #1
if (substr($host, -3) == ".dk") {
  // udfør noget
}
Avatar billede hairboy2 Nybegynder
11. august 2002 - 14:22 #2
hvorfor det der -3? er det fordi den kun tjekker de sidste tre tegn? kan man få den til at tjekke det hele?
Avatar billede teaspoon Nybegynder
11. august 2002 - 14:23 #3
eller hvis .dk ikke altid står til sidst, men skal findes alligevel:

if (strstr($host, ".dk") !== FALSE) {
  // udfør noget
}
Avatar billede teaspoon Nybegynder
11. august 2002 - 14:24 #4
ja.. -3 tager de 3 sidste tegn. .dk står som regel til sidst i et hostname.
Avatar billede hairboy2 Nybegynder
11. august 2002 - 14:25 #5
det er vel det samme som:

if (strstr($host, ".dk") == TRUE) {
  // udfør noget
}
Avatar billede hairboy2 Nybegynder
11. august 2002 - 14:28 #6
yes! det virker. Tak for hjælpen!
Avatar billede teaspoon Nybegynder
11. august 2002 - 14:28 #7
ikke helt. strstr returnerer resten af strengen hvis ".dk" bliver fundet, men FALSE hvis det ikke findes, og derfor valgte jeg at bruge !== FALSE, hvilket er lidt mere korrekt, selvom == TRUE sandsynligvis vil virke upåklageligt.
Avatar billede gizmo-gizmo Nybegynder
11. august 2002 - 14:29 #8
Man kan også:

if (eregi("\.dk", $host)) {
    echo "Yep, den slutter på .dk";
}


Den kan man også let udbygge og tillade .dk .com osv osv.
Avatar billede teaspoon Nybegynder
11. august 2002 - 14:30 #9
der er ingen grund til at bruge langsomme regexps til sådan en let opgave.
Avatar billede gizmo-gizmo Nybegynder
11. august 2002 - 14:35 #10
teaspoon >> Det kan vi let være han skal udvidde den en smule. Desuden er forskellen så lille at man aldrig bemærker noget med sådan en lille ting.
Avatar billede gizmo-gizmo Nybegynder
11. august 2002 - 14:35 #11
men det er da rigtigt lige nøjagtig det han skal bruge vil din metode være at foretrække... klart.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester