
Jak odstranit z řetězce nepovolené znaky
Ahoj,
potřeboval bych poradit, jak z proměnné (string) odstranit všechny nepovolené znaky.
Povolené jsou pouze :
- velká i malá abeceda včetně dikritiky
- čísla
- pomlčka
Zkoušel jsem preg_replace('~[^a-zA-Z0-9-]~', '', $string) ale neporadí si to s českými znaky. Zná prosím někdo odpověď? Děkuji. M.
A povolená je pouze česká diakritika nebo libovolná?
Jaká-koli diakritika.
http://stackoverflow.com/questions/2133758/how-do- i-match-accented-characters-with-php-preg
Tak to nevím, jak to řeší můj dotaz :(
Máš tam přece požadovaný regulární výraz.
Regulární výraz tam je, ale pro jakou funkci tam už není.
Zkoušel jsem to dát do preg_replace() ale výsledek je pouze NULL
Výsledek je stejný, NULL
Mně to teda funguje s výsledkem: abcřčŠÝÁšžýěš-
V online testeru php to taky jede ale u mě ne


Tak že ti moc děkuji za pomoc.
snad příjdu na to proč tomu tak je.
PS. Kdybych tam chtěl přidat ještě jeden znak, je to velký zásah do toho kódu? Zapomněl jsem na mezeru
Stačí ji přidat do toho výrazu.
Třeba jen takto?
Jenom tu mezeru, ne žádné uvozovky.
Dík.