Autor Zpráva
MarkétaT
Profil *
Dobrý den, potřebovala bych mít 2 vstupní pole. Do prvního by uživatel zadal třeba název článku a do druhého by se automaticky vepsalo to samé, za preddefinovanou hodnotu "article?", jen s podčárníky nebo pomlčkami mezi slovy, sama ještě nevím, které z těchto dvou řešení by bylo hezčí. Pomlčky, nebo podčárníky? Priklad jsem vepsala i do placeholderu v inputech. Děkuji za pomoc i za názor.
<div class="form-group">
                                <input class="form-control" name="heading" placeholder="Article heading">
                            </div>

                            <div class="form-group">
                                <input class="form-control" name="link" placeholder="article?article_heading">
                            </div>
Keeehi
Profil
Živá ukázka

Jsou tam dvě funkce transform, mezi kterými si můžeš vybrat. Případně si můžeš napsat vlastní.
Ta první dělá to co původně chceš - mezery (ve skutečnosti jakékoli bílé znaky) nahradí podtržítkem a vše převede na malé písmena.
Jelikož se však zdá, že z toho má vzniknout url, tak ale asi potřebuješ odstranit více znaků. Předpokládám, že asi třeba druhý otazník tam taky nechceš (co kdyby byla v nadpisu otázka). To dělá druhá funkce. Ta cokoli co není písmeno, nebo číslice nebo pomlčka či podtržítko nahradí podtržítkem. Toto je pro url určitě bezpečná sada znaků.
Pro angličtinu to asi bude fungovat dobře, ovšem v češtině to nahradí třeba č za podtržítko místo mnohem příjemnějšího c. I tato úprava jde provést, je ovšem mnohem komplikovanější a udělat ji pořádně není lehké. Pokud bych to dělal, vyšel bych z Nette a jeho Strings::webalize metody, kterou bych přepsal do javascriptu. Na první podhled se nezdá dlouhá, ale hned na začátku využívá Strings::toAscii která bude také potřeba přepsat a je mnohem komplexnější.
MarkétaT
Profil *
Keeehi:
Děkuju moc za pomoc. Funkce číslo 1 se mi osobně líbí víc, jde jen o to, zda to nebude dělat nějakou neplechu. Vyzkouším a kdyby nastaly problémy, přejdu na funkci č. 2. Přeji krásný den.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0