21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
Kubo2
Profil
Hľadám už dlhšie nejaký jednoduchý spôsob, ako z textu odstrániť znaky s háčikmi a čiarkami, a nahradiť ich znakmi bez háčikov a čiariek, čiže napr. á zmeniť na a, č na c a tak ďalej. Tuším sa tomu hovorí prevod textu do ASCII.
Skúšal som to pomocou strtr, nahraďovaním za pomoci regulárnych výrazov, pomocou str_replace. Nič z toho nefungovalo. Netuším (alebo iba slabo tuším), kde je problém. Zrejme to má niečo spoločné s kódovaním daného textu, pretože keď som skúšal vypísať dĺžku nejakého textu s diakritikou v znakoch, vypísalo mi asi o dve desiatky vačšie číslo - teraz mi napadlo, nepracuje sa v PHP náhodou so znakmi ako s označeniami bajtov v tabuľke kódovania? (Dúfam, že som nepovedal úplnú blbosť.)
Ak niekto používate nejakú spoľahlivú metódu (alebo poznáte nejakú hotovú), ktorou sa rieši táto situácia (prevod diakritických znakov na ich základné dvojčatá), prosím, napíšte mi ju, budem vám veľmi vďačný.

post scriptum: potrebujem to hlavne kvôli prevodu nejakého reťazca na tzv. webovú podobu, kde sa v adresách diakritické znaky nemôžu vyskytovať. Medzery tu bývajú nahradené za pomlčky alebo podtržítka, to si už dorobím sám, hlavne by som potreboval previesť string do bezdiakritického textu.

Ďakujem za každú odpoveď.
jenikkozak
Profil
Podívej se na Vytvoření přátelského URL od Jakuba Vrány.
Kubo2
Profil
jenikkozak:
Ďakujem, myslím že pre začiatok to bude stačiť.
Kubo2
Profil
Doplním, že dobre použiteľné pre tento účel je tiež hotové riešenie od Davida Grudla Nette\Utils\Strings::webalize() (dokumentácia).
anonymníí
Profil *
Kubo2:
Nevím, Nette nepoužívám, ale pokud v tématu výše není tento FW zmíněn, jako validní odpověď bych tu tvojí současnou nebral.

Když se to tu dočte nějaký kolemjdoucí, bude na web nasazovat nette jen kvůli ošetření URL? To se mi moc nezdá...
Kajman
Profil
anonymníí:
Pokud opovídá sám sobě, tak bych to bral jako validní doplňující odpověď.
Kubo2
Profil
anonymníí:
Když se to tu dočte nějaký kolemjdoucí, bude na web nasazovat nette jen kvůli ošetření URL?

Rozumný okoloidúci si tú metódu spolu s jej závislosťami vyexportuje do prostej užívateľskej funkcie (či funkcií).
Jan Tvrdík
Profil
Doplním, že ten zásadní rozdíl mezi implementaci v Nette a řešením Jakuba Vrány je v tom, že Jakubovo řešení je zcela nefunkční, pokud knihovna iconv používá glibc implementaci.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0