Gå til innhold

validiering av input


Anbefalte innlegg

Skrevet
php vet ikke at åæø er små bokstaver for ÅÆØ

Kan du utdype det litt?

 

Prøv denne:

echo strtolower("ÆØÅ"); // resultatet blir æøå

 

Jeg motsier alle i dag :p

Håper dere ikke blir fornærmet!

Videoannonse
Annonse
Skrevet (endret)

PHP 4.3.2, windows XP, Apache 2.0.45. Og nei, her så får jeg false :dontgetit:

 

Men i errorlog får jeg noen warnings:

[sat Dec 20 21:06:29 2003] [error] [client 127.0.0.1] PHP Warning:  eregi(): REG_ERANGE: in D:\Alexander\My Documents\Programming\Web\rornett-new-20031111\public_html\echotest.php on line 10

[sat Dec 20 21:06:30 2003] [error] [client 127.0.0.1] PHP Warning:  eregi(): REG_ERANGE: in D:\Alexander\My Documents\Programming\Web\rornett-new-20031111\public_html\echotest.php on line 10

 

Denne warning kommer ikke frem hvis jeg bruker a-zæøå.. kanskje min PHP ikke liker a-å som range...

 

Testet med preg_match, der fungerte a-å, men hvis jeg skrev a-ø eller a-æ så matchet den fordet :ermm: Men hadde jeg bare a-z så matchet den ikke. Så jeg foretrekker a-zæøå, virker som det fungerer for begge funksjonene akuratt slik jeg synes det skal ;)

Endret av FuLu
Skrevet
Så jeg foretrekker a-zæøå, virker som det fungerer for begge funksjonene akuratt slik jeg synes det skal ;)

Jeppers,

ingen tvil om at det er den beste!

med a-å vil det komme med mange andre tegn også - hadde tenkte ikke på det når jeg skrev i forumet!

Skrevet
Gleder meg ikke akuratt å slenge ut det jeg driver med på en 4.1.2 server :D Webhotellet er ikke akuratt oppdatert :angry:

Den var ikke helt ny!

Bug listen siden den versjonene er jo lang!

Tror du må sende de en liten klage mail.

Skrevet

Har sendt dem en mail for tja, 1år siden :D De sa de ville oppdatere serveren når Cobolt eller hva skvipet het kom med en oppdatering ala RedHat's RPM opplegg. Virker ikke som det har kommet noe eller om de har giddet å gjort noe. Kanskje jeg skal ta å sende enda en mail og si at det kanskje er på tide å oppgradere ;)

 

(Begynner å bli offtopic dette nå)

Skrevet

jeg blir helt forvirra. kan noen gi meg et eksempel jeg kan bruke? Når jeg sjekker syntax i manualen, blir det bare værre.

 

tillatte tegn er a-z, A-Z, 0-9, æøå, ÆØÅ

Skrevet

Jeg ville brukt denne eregi("^[0-9a-zæøå]+$", $tekste_som_skal_sjekkes)

Denne gir deg bool true/false som resultat. Den er case-insensitive.

 

Skal du bruke preg_match, som i noen tilfeller kan være raskere, så blir det preg_match("/^[0-9a-zæøå]+$/i", $tekste_som_skal_sjekkes)

 

Denne gir det tallet 1 eller 0, 1 for match, 0 for ingen match. /i opsjonen er en case-insensitive sak.

Skrevet
at Å og å er to forskjellige bokstaver? Like forskjellige som a og b ?
:no:

 

PHP har full oversikt over at Å er stor bokstav, og å den litenbokstaven for Å!

"Like forskjellig som a og b". Hvis du mener like forskjellig som a og A er jeg enig med deg, men ikke ellers.

 

Som jeg nevnte tidligere kan du jo teste det selv:

 

echo strtolower("ÆØÅ"); // resultatet blir æøå

:thumbup:

 

Eneste gangen PHP ikke vet forskjellen på Å og å eller A og a er i navnet på variabler, f.eks. $øl - for da baserer den seg på ascii, ellers kunne det oppstått store problemer ved å gi en variabel et navn med æ ø å ä ö

 

Eller er det noe helt annet dere sikter til?

Skrevet

har ikke fått sjekke tilbake før nå - men eter imeg det jeg sa, følgende linjer beviser min uvitenhet:

 

<?php
$string = "ÆØÅ";
if(eregi("æ",$string)){
 print "match!\n";
}
?>

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...