Üdv
Egy kis problémám akadt PHP-vel.
Gondolom már sokakkal előfordult hogy szerettek volna egy PHP tömböt kilistázni a magyar helyesírásnak megfelelő betűrendben. Én is így vagyok és keresem a megoldást.
A probléma:
Adott egy tömb:
ács, adam, őrzi, ökör, őcsát, okkal, óbba
mindenféle sort, ksort, natsort, stb.. (header, setlocale beállítás) után sem lesz ez a listázási sorrend:
ács, adam, óbba, okkal, őcsát, ökör, őrzi
tehát a=á, e=é, o=ó, ö=ő (de o<>ö), u=ú, ü=ű (de u<>ü), valamint g<>gy, s<>sz, t<>ty stb... (habár most a dupla betűk (pl.sz, gy) nem érdekesek, csak az ékezetesek)
Minden uft-8-ra van beállítva.
Ha van valakinek erre egy jól bejáratott és gyors, egyszerű, lehetőleg minél kevesebb rongálással járó rutinja kérem ossza meg.
Köszi a segítséget.
- 3185 megtekintés
Hozzászólások
próbáld meg ékezetmentesítve rendezni... :$
- A hozzászóláshoz be kell jelentkezni
Sajna nem lehet mert az u-hoz nem lehet belevenni az ü, ű betűs elemeket. Az o-hoz pedig az ö, ő-ket.
Tehát a lényeg hogy a hosszú ékezetes betűk keveredjenek a rövid ékezetes megfelelőikkel (pl.: az ö betűsek közé keveredjenek az ő betűsek).
+ probléma hogy pl. octa nem lehet azonos az ócta-val hanem utána következik.
:(
- A hozzászóláshoz be kell jelentkezni
Nekem hirtelen a s/ú/u/g és s/ű/ü/g a triviális megoldás.
--
Debian - The "What?!" starts not!
http://nyizsa.uni.cc
- A hozzászóláshoz be kell jelentkezni
http://hu2.php.net/sort
masodik parameternek SORT_LOCALE_STRING, elotte meg allitsd a setlocale fuggvennyel hu_HU vagy hu_HU.UTF-8 -ra a localt, persze ehhez telepitve kell, hogy legyen az adott locale a gepen.
de irhatsz sajat rendezo rutint is. :/
Tyrael
- A hozzászóláshoz be kell jelentkezni
+1 (csak hogy felhivjam a helyes megoldasra a figyelmet, mielott a sok felrevivo javaslat mellett elsikkad)
- A hozzászóláshoz be kell jelentkezni
Sajna nem működik rendesen.
(beállítottam a php fájlban, de a szerver konfigurációja nem elérhető számomra)
Egy atombiztos és helyes megoldás kellene :(
- A hozzászóláshoz be kell jelentkezni
Csak elmélet, és az is lehet, hogy gány.
Csinálj egy tömböt, ahol sorba állítod a magyar ABC betűit és értéket rendelsz hozzá.
a=1, á=2, b=3 ....
Majd vizsgálod a szavak első karakterét, így össze tudod hasonlítani, ha azok egyeznek, a következő karaktert és így tovább..
- A hozzászóláshoz be kell jelentkezni
Csak kiváncsiság, ez a tömb nem SQL-ből érkezik véletlenül?
- A hozzászóláshoz be kell jelentkezni
Nem sql
Ezek fájlnevek (ráadásul :( ) ...
- A hozzászóláshoz be kell jelentkezni
Uhh, akkor részvétem. :)
- A hozzászóláshoz be kell jelentkezni
szábszkrájb
- A hozzászóláshoz be kell jelentkezni
masik megoldas: uasort/uksort + sajat fuggveny egy egyszeru tombbel.
t
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
A mindennel kompatibilis megoldás, ha megírod magadnak.
- A hozzászóláshoz be kell jelentkezni