Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z rozdzielaniem linka
sztyvny
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 25.07.2009

Ostrzeżenie: (0%)
-----


Witam. Przerabiam pewien skrypt i potrzebuję, żeby z linku z youtube otrzymać te literki filmu (czyli to co znajduje się po = w linku do video). Napisałem taki kod ale niestety nie działa. Co zrobiłem źle?
  1. $photo_file = stripinput($submit_criteria['photo_filename']);
  2. $photo_file = str_replace( '&', ' ', $photo_filen);
  3. $photo_filen[0] = str_replace('=', ' ', $photo_filena);
  4. $photo_filename = $photo_filena[1];


Bardzo proszę o pomoc i z góry dziękuję
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




parse_url + parse_str i dostaniesz tablicę asocjacyjną, po co tak kombinować...
Go to the top of the page
+Quote Post
sztyvny
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 25.07.2009

Ostrzeżenie: (0%)
-----


Cytat(erix @ 24.07.2010, 21:45:15 ) *
parse_url + parse_str i dostaniesz tablicę asocjacyjną, po co tak kombinować...

Możesz wytłumaczyć dokładniej? Bo jestem w tym zielony..

rozumiem jak użyć parse_str tylko jak można usunąć to po znaku '&' przy linku? i tak, żeby jeśli nie będzie '&' to skrypt po prostu 'przejdzie dalej' czyli nic nie zrobi

Ten post edytował sztyvny 24.07.2010, 21:17:09
Go to the top of the page
+Quote Post
muk4
post
Post #4





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Alrogithmus:
1.Parsujesz adres funkcją parse_url.
2.Wynik masz w tablicy - klucz 'query'
3.Potem usuwasz 'v=' z wyniku np. przez str_replace albo substr
4.Masz wynik.

Ten post edytował muk4 24.07.2010, 21:48:55
Go to the top of the page
+Quote Post
sztyvny
post
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 25.07.2009

Ostrzeżenie: (0%)
-----


  1. parse_url($photo_file);
  2. $photo_filen = $photo_file[query];
  3. $photo_filename = str_replace('v=', ' ', $photo_filen);

taki kod napisałem i przy linku http://www.youtube.com/watch?v=_ToxlCfV7us...feature=popular otrzymałem wynik 'h'.... jakie błędy znowu zrobiłem?
Go to the top of the page
+Quote Post
muk4
post
Post #6





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


W takim przypadku raczej wypada użyć substr
  1. <?php
  2. $url = 'http://www.youtube.com/watch?v=_ToxlCfV7us&feature=popular'; //adres
  3. $res = parse_url($url); //parsujesz
  4. $result = substr($res['query'], 2, 11); // 2 oznacza od którego znaku zacząć, 11 oznacza długość łańcucha
  5. echo $result;
  6. ?>


Ten post edytował muk4 24.07.2010, 22:03:39
Go to the top of the page
+Quote Post
sztyvny
post
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 25.07.2009

Ostrzeżenie: (0%)
-----


Dzięki wielkie. A jeszcze takie pytanie czy dało by radę aby zamiast długości łańcucha podawać do jakiego znaku ma być? Mam nadzieję, że każdy film z youtube ma 11 znakową 'nazwę' filmu ale niestety nie mogę mieć pewności ;/
Go to the top of the page
+Quote Post
muk4
post
Post #8





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Sprawdziłem z 15 filmików. Jeśli się mylę to pozostaje regexp.
Go to the top of the page
+Quote Post
sztyvny
post
Post #9





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 25.07.2009

Ostrzeżenie: (0%)
-----


Też sporo sprawdziłem. Mam nadzieję że się nie zmieniają (IMG:style_emoticons/default/winksmiley.jpg) a możesz rozwinąć o co chodzi z tym regexp?
Go to the top of the page
+Quote Post
iVorIus
post
Post #10





Grupa: Zarejestrowani
Postów: 145
Pomógł: 18
Dołączył: 11.11.2008
Skąd: Pwo

Ostrzeżenie: (0%)
-----


Albo explode po znaku "=".
Go to the top of the page
+Quote Post
muk4
post
Post #11





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Cytat(sztyvny @ 24.07.2010, 23:32:00 ) *
Też sporo sprawdziłem. Mam nadzieję że się nie zmieniają (IMG:style_emoticons/default/winksmiley.jpg) a możesz rozwinąć o co chodzi z tym regexp?


regexp -> Regular Expression -> Wyrażenia Regularne
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:48