Knebba Skrevet 3. mai 2007 Del Skrevet 3. mai 2007 Jeg har et skjema hvor folk kan sende meg en beskjed, men hvordan kan jeg gi en feilmelding hvis meldingen inneholder http:// ? vil gjerne ha det blokket.. det er vel noe med regulær uttrykk? Lenke til kommentar
???????? Skrevet 3. mai 2007 Del Skrevet 3. mai 2007 preg_match("/http:\/\//i", $text); Lenke til kommentar
MsFoster Skrevet 3. mai 2007 Del Skrevet 3. mai 2007 (endret) Dette gjøres enklest vha funskjonen strpos(); PHP <?php $string = "hei på http:// deg"; $illegal = "http://"; if(strpos($string,$illegal)) { echo "Ikke lov, gitt"; }else{ .... } ?> Endret 3. mai 2007 av MsFoster Lenke til kommentar
???????? Skrevet 3. mai 2007 Del Skrevet 3. mai 2007 Nei og nei, ikke si at forumet er like ille? 1. strpos er ikke ment for denne funksjoen, den er ment for å finne possisjonen til det man søker etter. Dette gjør koden klønete for andre programmere å forstå, siden du bruker en funksjon til noe som den ikke er tenkt for. 2. videre så er det til og med en stor advarsel i manualen mot å sjekke den resultatet med true/false (bool) fordi den kan returnere false, 0 eller "". Disse skal vanligvis tolkes som false, men merk ordet: vanligvis. NB: advarsler i manualen skal alltid taes hensyn til! Dette er ikke direkte til deg MsFoster, så ikke ta det personlig. Jeg er litt gretten og vrang, men jeg mener at man ikke skal være seg til en uvane når man lærer. Vil du bruke denne funksjonen så beskriv hensikten i en comment før den kjøres, og i det minste sett en ekstra bool tolker på resultatet. Lenke til kommentar
MsFoster Skrevet 4. mai 2007 Del Skrevet 4. mai 2007 (endret) PHP-manualen har t.o.m et eksempel med akkurat samme hensikt som det jeg prøver å formidle her. strpos(); er som du sier hovedsaklig til å finne posisjonen til noe i en string, dette svaret får du ved å skrive ut resultat av funksjonen. Oki, la oss legge til en boolean, slik de gjør i eksempelet hos php.net. PHP <?php $string = "hei på http:// deg"; $illegal = "http://"; $check = strpos($string,$illegal);¨ if($check === false) { echo "fres på"; }else{ //ikke lov gitt } ?> Endret 4. mai 2007 av MsFoster Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå