Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyciągnięcie ciągu znaków z linku.
Forum PHP.pl > Forum > Przedszkole
mosti
Witam, do tej pory używałem funkcji:

  1. function yturl_parse($link)
  2. {
  3. $parsurl = parse_url($link);
  4. parse_str($parsurl['query'], $ytvar );
  5. return $ytvar['v'];
  6. }


Funkcja ta świetnie sprawdzała się w przypadku filmów z yt, ale tam adres wyglądał tak: http://youtube.com/watch?v=... w tym przypadku łatwo wyciągnąć ciąg znaków występujący za v.

Mam problem, bo nie wiem jak jak zmienić ta funkcje zeby wyciaga np. znaki z takiego adresu: http://youtube.com/12345

Jak wyciagnąc to 12345?
nospor
Tak ciężko zrobić print_r?

$parsurl = parse_url($link);
print_r($parsurl);

I po sprawie.
mosti
Zrobiłem tak,

  1. function yturl_parse($link)
  2. {
  3. $parsurl = parse_url($link);
  4. print_r($parsurl['query']);
  5. }


ale co zrobić żeby od razu zwróciło te liczby, tak jak to miało miejsce wyżej?

  1. return $ytvar['v']
nospor
No ja ci pokazałem gdzie znajduje się to czego szukasz.... Ty miałeś jedynie to zwrócić zamiast wyświetlać...
djgarsi
Nie
  1. print_r($parsurl['query']);


a
  1. print_r($parsurl);
mosti
No ale teraz musiał bym wyświetlić z tego co wyciagnałem [path].

nospor
Tak, masz zwrócić path. To jest tym czego szukasz
mosti
  1. function yturl_parse($link){
  2. $parsurl = parse_url($link);
  3. parse_str($parsurl['path'], $getvar );
  4. return $getvar;}


jakaś mała podpowiedź do tego, ten kod zwracam mi: 'array'
nospor
W ogole nie myślisz. Po co jeszcze parseStr? Przecież już ci podano gdzie jest to czego szukasz. Zamiast wyswietlac miales jedynie zwrocic

  1. function yturl_parse($link){
  2. $parsurl = parse_url($link);
  3. return $parsurl['path']);
  4. }
mosti
Rozwiazane! Dzieki wszystkim!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.