Autor Zpráva
pcwebslovakia
Profil *
Dobrý večer, bol by som rád keby ste mi pomohli s mojou funkciou ktorá by mala myslím fungovať ale nevracia mi žiadnu hodnotu...
Ďakujem
function friendly_string($input) {
    $input = preg_replace('/[^\pL0-9_]+/u', '-', $input);
    $input = trim($input, '-');
    $input = iconv('utf-8', 'us-ascii//TRANSLIT', $input);
    $input = strtolower($input);
    $input = preg_replace('/[^-a-z0-9_]+/', '', $input);

    return($input);
}
DJ Miky
Profil
Pro jaký vstup nevrací žádnou hodnotu? Vypadá, že je to převzaté od Jakuba Vrány a funguje to podle (mých) očekávání.
Jan Tvrdík
Profil
pcwebslovakia:
Jakubův postup bohužel nefunguje vždy, konkrétně nefunguje v případě, že iconv používá „glibc“ implementaci. Viz např. github.com/nette/nette/blob/152844785ce950dfc6953d2db754721d400cf223/Nette/Utils/Strings.php#L172-L213 pro řešení, které by mělo fungovat snad vždy.


Nebo zkus tip od Jakuba uvedený v komentáři, třeba to bude v tvém případě stačit.

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: