| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 24.01.2009 12:33 | |
|
Zdravim vsetkych,
skusam vytvorit regularny vyraz, ktory mi vytriedi vsetky retazce z pola, ktore obsahuju aspon jedno z: %s, %d, %1$s, %1$d (v poslednych dvoch ta jednotka moze byt ktorekolvek z cisel 1-9).
Skusal som toto: Kód: preg_match("/%([1-9]\$)?(s|d)/", $v) ale napriklad ak $v = '%1$s', vracia false.
Mozete mi s tymto regexpom poradit? Dik.
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 24.01.2009 15:43 | |
|
Chýba ti tam jeden znak \ Kód: preg_match("/%([1-9]\\$)?(s|d)/", $v); Ten reťazec sa najskôr vyhodnotí a spracujú sa escapeované znaky ako napr. \n, \r... Ak je za znakom \ niečo, čo netvorí špeciálnu kombináciu s tým \, tak sa jednoducho \ vyhodí a teda regexp dostane na spracovanie "/%([1-9]$)?(s|d)/" (a tam už má znak $ úplne iný význam, ako chceš ty).
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal autor témy Ďuri: 24.01.2009 16:27 | |
|
Chrono, to je uzasne, myslim, ze to funguje. Super, dakujem!
|
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|