Avatar
blablabla
Člen
Avatar
blablabla:

Ahoj,
potřeboval bych poradit s automatickým generováním URL. Všechno mi docela funguje až na odstranění diakritiky. To nemám vůbec.

Vstup:
Příliš žluťoučký kůň úpěl ďábelské ódy.
Výstup:
prilis-zlutoucky-kun-upel-dabelske-ody

Můj dosavadní kód:

url = url.toLowerCase().replace(/[^\w ]+/g, '').replace(/ +/g, '-');

Ten kód až na tu diakrtitiku, kterou vynechává, funguje.

 
Odpovědět 20.2.2015 17:41
Avatar
shaman
Člen
Avatar
shaman:

Na odstranenie diakritiky nie je funkcia v jQuery. Riesi sa to tak ze si namapujes pismeno k pismenu a potom si spravis loop ktory ti prebehne cely tvoj text pismenko po pismenku a porovnava mapovanie. Ak najde tvoj znak s diakritikou tak ho zameni. Odporucam si to spravit, je to dobre cvicenie prace s poliami.
.
.
.
Ak ale nemas cas :) tak si stiahni tento subor

https://raw.githubusercontent.com/mplatt/fold-to-ascii-js/master/fold-to-ascii.js

a pridaj si do svojho suboru ako script:

<script type="text/javascript" src="fold-to-ascii.js"></script>

Je to funkcia v ktorej to uz mas namapovane. Teraz mozes pozivat funkciu foldToASCII asi takto

url = foldToASCII(url.toLowerCase().replace(/\ /g, '-').replace(/\./g, ''));
Akceptované řešení
+20 Zkušeností
Řešení problému
Nahoru Odpovědět  +2 20.2.2015 19:33
try {...} catch (Exception ignored) { echo " ¯\_(ツ)_/¯ "; }
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.