[PHP] Diakritische hoofdletters omzetten in kleine letters

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

bestaat er een functie om diakritische hoofdletters om te zetten in kleine letters.

Ik heb bijvoorbeeld de naam LATÙNGYÖRÖK en dit zou Latùngyörök moeten worden.

Acties:
  • 0 Henk 'm!

  • Rfce
  • Registratie: Oktober 2001
  • Laatst online: 26-09-2024

Rfce

Veni, Vidi, Vici

wat dacht je van strtolower()

of anders: ucfirst(strtolower("LATÙNGYÖRÖK"));

[ Voor 46% gewijzigd door Rfce op 19-10-2006 14:45 ]

euh...ja


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Rfce schreef op donderdag 19 oktober 2006 @ 14:44:
wat dacht je van strtolower()

of anders: ucfirst(strtolower("LATÙNGYÖRÖK"));
Als je doet wat jij zegt krijg je iets als LatÙngyÖrÖk

[ Voor 17% gewijzigd door Verwijderd op 19-10-2006 14:53 ]


Acties:
  • 0 Henk 'm!

  • Rfce
  • Registratie: Oktober 2001
  • Laatst online: 26-09-2024

Rfce

Veni, Vidi, Vici

jazekers, en hij werkt gewoon!

euh...ja


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dan zal het wel verschillen van server tot server

Acties:
  • 0 Henk 'm!

  • SH4D3H
  • Registratie: Juni 2004
  • Laatst online: 27-02 23:46
Hier werkt het ook gewoon.
Welke PHP versie heb je anders? :?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
SH4D3H schreef op donderdag 19 oktober 2006 @ 14:56:
Hier werkt het ook gewoon.
Welke PHP versie heb je anders? :?
PHP 5.0 ... dus normaal zou het geen probleem mogen zijn.
Welke php instelling zou dit kunnen zijn?

Acties:
  • 0 Henk 'm!

  • Icelus
  • Registratie: Januari 2004
  • Niet online
Eventueel kun je deze (IMO niet-nette) oplossing gebruiken.

Developer Accused Of Unreadable Code Refuses To Comment


Acties:
  • 0 Henk 'm!

  • E-Vix
  • Registratie: Juni 2000
  • Laatst online: 19-09 14:42

E-Vix

Nu met sneeuw!

Probeer eerst anders met setlocale(LC_ALL, 'se_SE'); je locale op zweeds te zetten (tenminste, als het zweeds is. Anders even de juiste code er bij zoeken), en daarna ucfirst() uit te voeren. Dan zouden alle letters met vreemde karakters wel naar kleine letters moeten gaan.
Niet vergeten je locale na afloop weer terug op nederlands te zetten...

[ Voor 11% gewijzigd door E-Vix op 19-10-2006 15:10 ]

Failed opening '/home/users/7942/signature.inc' for inclusion (include_path='.:') in /home/www/got/userstats.php on line 25


Acties:
  • 0 Henk 'm!

  • Rfce
  • Registratie: Oktober 2001
  • Laatst online: 26-09-2024

Rfce

Veni, Vidi, Vici

als het niet lukt kun je met een str_replace natuurlijk al je karakters wat je gebruikt even met de hand invoeren.
als voorbeeld:
PHP:
1
2
3
4
5
6
$input = "LATÙNGYÖRÖK";
$upper = array("L","A","T","Ù","N","G","Y","Ö","R","K");
$lower =array("L","a","t","ù","n","g","y","ö","r","k");
$output = str_replace($upper, $lower, $input);

echo $output;

euh...ja


Acties:
  • 0 Henk 'm!

Verwijderd

Rfce schreef op donderdag 19 oktober 2006 @ 15:13:
als het niet lukt kun je met een str_replace natuurlijk al je karakters wat je gebruikt even met de hand invoeren.
als voorbeeld:
PHP:
1
2
3
4
5
6
$input = "LATÙNGYÖRÖK";
$upper = array("L","A","T","Ù","N","G","Y","Ö","R","K");
$lower =array("L","a","t","ù","n","g","y","ö","r","k");
$output = str_replace($upper, $lower, $input);

echo $output;
Ik zou het dan in ieder geval met een Array doen met letters die hij met strtolower() niet goed doet. Dan dus eerst de strtolower aanroepen en vervolgens nog een str_replace op alle letters die hij niet goed oppakt, wat denk ik alleen de Uppercase versies zijn van letters met speciale tekens, dus een beperkt aantal.

edit: zit te denken dat dat er toch wel veel zijn.... 26 x (4 a 5 speciale karakters), misschien toch beter om het met een server setting op te lossen.

[ Voor 8% gewijzigd door Verwijderd op 19-10-2006 15:17 ]


Acties:
  • 0 Henk 'm!

Verwijderd

En het gebruik van mb_strtolower. Ik weet niet of het werkt (iemand ervaring) maar volgens mij moet je hiermee een heel eind komen :).

Acties:
  • 0 Henk 'm!

  • MisterData
  • Registratie: September 2001
  • Laatst online: 29-08 20:29
Het hangt inderdaad van de locale en mbstring instellingen/versie af. Met de mb-functies (of eventueel unicode functies als die er zijn) moet je geen problemen hebben :)
Pagina: 1