Autor | Zpráva | ||
---|---|---|---|
Senky Profil |
#1 · Zasláno: 15. 7. 2009, 14:37:02
Zdravím.
O regulárnych výrazoch skoro nič neviem a potreboval by som si overiť, či poslaná adresa bude mať tvar: http://www.nieco.sk/?uc=sk1_12345 http://www.nieco musí byť vždy, sk môže byť aj iná koncovka, /?uc= bude vždy, za tým je to isté ako koncovka základnej adresy, číslo 1 môže byť iné a aj viac miestne, _ vždy a 12345 sú rôzne čísla s rôznym počtom číslic. Dokázal by mi to niekto skonštruovať? Nemusí to byť dokonalé, napríklad .sk a sk1 sa nemusia zhodovať, ale základ aby ostal. Bude mi jedno, či to bude cez preg_*, ereg_* alebo hocičo iné, proste aby som dostal nejakú inú hodnotu pri správnom výsledku ako pri nesprávnom. Vopred veľmi ďakujem tomu, kto sa na to podujme... |
||
Joker Profil |
#2 · Zasláno: 15. 7. 2009, 16:59:56 · Upravil/a: Joker
Senky:
„http://www.nieco musí byť vždy“ Jedna konkrétní adresa, nebo jakákoliv? Nástřel: ^http://www\.[a-zA-Z0-9\-]+\.([a-zA-Z]{2,4})/\?uc=\1[0-9]+_[0-9]+$ Poznámky: - adresa tedy musí obsahovat www (jako to je v zadání) - jinak to bere jakoukoliv adresu (kombinaci písmen, číslic a pomlčky) - bere to nulu jako platné číslo, tj. například: http://www.example.com?uc=com0_0123 by mělo projít - celý řetězec musí být tvořený jen tou adresou před ní ani za ní nesmí být nic dalšího. edit: zrušil jsem značku pre kolem adresy, vypadalo to divně. |
||
Senky Profil |
#3 · Zasláno: 15. 7. 2009, 17:12:58
Bohužiaľ, nejde to. Najprv tam boli chyby, takto som to opravil:
http:\/\/www\.[a-zA-Z0-9\-]+\.([a-zA-Z]{2,4})\/\?uc=\1[0-9]+_[0-9]+ Avšak po zadaní takejto adresy: http://www.nieco.sk/?uc=sk1_31409 Mi pri tejto funkcii: function parse_url($url){ if(preg_match("/http:\/\/www\.[a-zA-Z0-9\-]+\.([a-zA-Z]{2,4})\/\?uc=\1[0-9]+_[0-9]+/i", $url, $matches)){ return true; } else{ return false; } } Vrátilo false... V čom teda môže byť chyba? |
||
tiso Profil |
#4 · Zasláno: 15. 7. 2009, 17:28:18 · Upravil/a: tiso
Senky: riadok 2:
if(preg_match("/http:\/\/www\.[a-zA-Z0-9\-]+\.([a-zA-Z]{2,4})\/\?uc=\\1[0-9]+_[0-9]+/i", $url, $matches)){ btw. nebude ti to fungovať na speed server, ten myslím končí na skx a keď už píšeš /i tak je zbytočné tam dávať a-z spolu s A-Z, stačí jedno z nich |
||
Senky Profil |
#5 · Zasláno: 15. 7. 2009, 17:38:05
Heh, zjavne vieš o čom je reč, ale ďakujem, už to fachčí (a ten speed samozrejme fixnem, išlo mi hlavne o ten výraz. Veď pre skx to hádam už nejako upravím aj ja skúšaním...
Ďakujem fakt... |
||
Časová prodleva: 15 let
|
0