Avatar billede fizk Nybegynder
23. maj 2006 - 22:25 Der er 3 kommentarer og
1 løsning

Problem med reg. exp.

Jeg har lidt problemer med at nogen spammer min gæstebog, ved blot at skrive en række tal som besked, så jeg har flikset følgende sammen:

if (eregi("/(\s+)(\d+)(\s+)/",$besked)==$besked)
    {
    echo "Det er KUN tal";
    }
else
    {
    echo "Det er ikke kun tal";
    }

for at undgå at disse beskeder bliver vist, dog siger den til alt hvad jeg propper ind - tal, eller ikke tal, uanset white-spaces og den slags, så siger den at alting ikke er tal.
Nogen der kan sige mig hvad der går galt?
Avatar billede erikjacobsen Ekspert
23. maj 2006 - 22:27 #1
Du kan fx

$besked=trim($besked)
if (preg_match("/^\d+$/",$besked))
    {
    echo "Det er KUN tal";
    }
else
    {
    echo "Det er ikke kun tal";
    }
Avatar billede fizk Nybegynder
23. maj 2006 - 22:34 #2
Hmmm ... Det ser ud til at virke, så du får dine pts., men burde (\s+) ikke gøre det samme som trim() ?
Avatar billede erikjacobsen Ekspert
23. maj 2006 - 22:44 #3
Jo. Men man kan gøre det til en god vane at lave en trim på al userinput - så er det bøvl overstået een gang for alle.
Jeg samler slet ikke på point, tak. Svar selv, accepter eget svar.
Avatar billede fizk Nybegynder
23. maj 2006 - 22:46 #4
Hmmm ... Jeg viste slet ikke man kunne give sig selv point ^^
Nå, men under alle omstændigheder, tak!
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