Avatar billede fizk Nybegynder
27. april 2005 - 14:01 Der er 9 kommentarer og
1 løsning

Være ligeglad med store/små bogstaver?

Hej folkens ...
Jeg har lige et hurtigt spørgsmål!
Kan man på en eller anden måde få php til at være ligeglad med om man skriver med store eller små bogstaver?

Problemet ligger i at jeg har lavet en søgemaskine til min side, men den er ikke ligeglad med om man søger på "sidE" eller bare "side" og jeg kan ikke vide om folk i min gæstebog har skrevet deres navn med stort, eller småt - evt et stort bogstav midt i det hele!

Jeg ved godt der er både strtolower() og strtoupper(), men det kræver jo så jeg skal til at gøre ALT teksten enten lowercase eller uppercase og uanset hvad jeg vælger kommer det til at se dumt ud!

Kig evt. på
http://esbenboye.dk/des5/sites/links.php?high=side
http://esbenboye.dk/des5/sites/links.php?high=siDe
Avatar billede barklund Nybegynder
27. april 2005 - 14:08 #1
Hvordan søger du mere specifikt? Hvis os noget script :)
Avatar billede nielle Nybegynder
27. april 2005 - 14:18 #2
Det er ikke i PHP at den sags gøres - det er i stedet fo i den SQL-sætning som du søger data med. Den eksakte syntaks afhæger af hvilken database du bruger.
Avatar billede mysli Nybegynder
27. april 2005 - 14:46 #3
Lav alle inputs til lille med strtolower ( string str).

Det vil være mit bud.
Avatar billede fizk Nybegynder
27. april 2005 - 15:05 #4
Det er et lidt længere script jeg har fået bikset sammen efterhånden, men jeg smider det lige op...
Selve siden man søger på:
http://esbenboye.dk/des5/sites/diverse2.txt

Og det skal så holdes op mod f.eks. links-siden hvor den skal high-lighte resultaterne:
http://esbenboye.dk/des5/sites/links.txt

Og nej, det er ikke bare et SQL-script jeg søger i, for så havde det ikke været noget problem, det er selve koden til siden jeg bikser igennem!

Håber i forstår hvad jeg mener! :D
Avatar billede cpfrande Nybegynder
27. april 2005 - 15:16 #5
Halløjsa,

strtolower() vil da være det oplagte valg her. Du skal gøre det ved den tekst, som du søger i, men også gøre det i det input, som du får ind fra din søge-formular.

Du kan ikke rigtig gøre andet - så vidt jeg kan se.

- Kristian
Avatar billede fizk Nybegynder
27. april 2005 - 15:28 #6
Damn ... Så er problemet jo netop, hvis der er en der har i min gæstebog har skrevt siDe, så vil den jo ikke finde det :(

Er der virkeligt ikke andet at gøre?
Avatar billede cpfrande Nybegynder
27. april 2005 - 15:34 #7
Det vil den da, hvis du laver en lowercase på alt tekst fra din gæstebog og en lowercase på den tekst, som der kommer ind i formularen - så vil den fint kunne finde ud af, at der er matches i teksten.

Problemet opstår nok nærmere, når du ønsker at markerer det med fed.
Har du prøvet med http://dk2.php.net/manual/en/function.preg-replace.php ?
Avatar billede fizk Nybegynder
27. april 2005 - 20:54 #8
Ok, nu kom den!
Der var alligevel lidt tekst der skulle kigges igennem der! :D
Det blev en preg_replace med /i så den ikke er case-senitive der kommer til at gøre tricket! Så hvis du, cpfrande, lige smider et svar, så får du dine pts! :D
Avatar billede cpfrande Nybegynder
27. april 2005 - 21:09 #9
Det gør jeg så her.

Glad for at kunne hjælpe! :-)

- Kristian
Avatar billede cpfrande Nybegynder
27. april 2005 - 21:52 #10
Takker for points! :-)
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