Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Internet > Web razvoj > Serverske aplikacije i baze podataka
Uputstvo Članstvo Kalendar Današnje poruke Pretraži

Serverske aplikacije i baze podataka PHP, Perl, ASP, ASP .NET, ColdFusion...
MySQL, PostgreSQL, MSQL, Oracle...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 8.11.2011, 21:33   #1
nepoverljiv
Član
 
Član od: 13.4.2008.
Poruke: 157
Zahvalnice: 7
Zahvaljeno 2 puta na 2 poruka
Question substr strrchr url

Zdravo, taman kad sam mislio da sam resio problem, ispalo je da nisam. Problem je kod citanja url-a i uzimanja podataka iz njega. Npr. kad imam ovakav url on radi lepo.

http://localhost/phpmyadmin/katalog/...from-the-Sun/1

Meni je potrebno ime (3rd-Rock-from-the-Sun) i broj na kraju. Radio sam na ovaj nacin:

PHP kod:
    $var=$_SERVER['REQUEST_URI']; //citanje url-a
    
$page substr(strrchr($var"seasons"),2); //citanje sveha posle seasons/
    
$newname str_replace("-"" ""$page"); //zamenim "-" sa space

    
$naziv=substr($newname0strpos($newname'/'));  //izdvojim samo ime

    
$id substr$varstrrpos$var'/' )+); //dobijem broj na kraju 
E sad to isto nece da mi radi kad mi je url npr.

http://localhost/phpmyadmin/katalog/...The-Sopranos/1

Da li neko zna u cemu je caka, ili zna neko drugo resenje da dodjem do imena i broja na kraju?
nepoverljiv je offline   Odgovor sa citatom ove poruke
Stara 8.11.2011, 21:48   #2
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 7.336
Zahvalnice: 94
Zahvaljeno 3.334 puta na 2.010 poruka
Određen forumom Re: substr strrchr url

Ne zamaraj glavu sa logikom kad regex-ima možeš mnogo brže i lakše da rešiš problem. Treba ti deo sa imenom (između kosih crta "/") i broj na kraju? Ništa lakše, koristiš regex capture grupe.
PHP kod:
$data = array();
preg_match('^serije.php\?type=seasons\/([a-zA-Z0-9\-_]+)\/(\d+)'$_SERVER['REQUEST_URI'], $data);
$name $data[0];
$number $data[1]; 
Ime ti stoji u $name a broj logično u $number. Možda regex treba još malo da se zategne za tvoje potrebe ali u suštini ovo ti je najlakše i radi ono što tražiš.

Dodao sam ti jedan GET parametar (type) jer ne možeš samo da daš vrednost GET promenjljivoj (=season) a da ne definišeš koja promenjljiva je dobija.
Neutrino je offline   Odgovor sa citatom ove poruke
Stara 8.11.2011, 21:51   #3
EclipsE
Starosedelac
 
Član od: 16.4.2006.
Lokacija: Scary Movie Reputacija: ■■□
Poruke: 1.337
Zahvalnice: 378
Zahvaljeno 279 puta na 196 poruka
Slanje poruke preko Skypea korisniku EclipsE
Određen forumom Re: substr strrchr url

Zašto prosto kad može komplikovano

PHP kod:
preg_match('/seasons\\/(.+?)\\/(\\d+)$/'$_SERVER['REQUEST_URI'], $matches);

$matches[1]; // <-- ime serije
$matches[2]; // <-- id ili sta ti je vec 
EDIT: damn, too slow
EclipsE je offline   Odgovor sa citatom ove poruke
Stara 8.11.2011, 21:54   #4
nepoverljiv
Član
 
Član od: 13.4.2008.
Poruke: 157
Zahvalnice: 7
Zahvaljeno 2 puta na 2 poruka
Određen forumom Re: substr strrchr url

Hvala puno na odgovorima
nepoverljiv je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi


Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno



Sva vremena su po Griniču +2 h. Sada je 10:25.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com