Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [REGEX] Problem z pobraniem ostatniego stringa w ciągu
Forum PHP.pl > Forum > Przedszkole
kuna11
Chcę pobrać z linka YT:
https://www.youtube.com/watch?v=kOkQ4T5WO9E
to co jest po 'v='

Napisałem:
  1. $content='https://www.youtube.com/watch?v=kOkQ4T5WO9E';
  2. $keyreg = '/https:\/\/www.youtube.com\/watch\?v=(.+?)/';
  3. preg_match_all($keyreg, $content, $key);
  4. print_r($key);

No i wyciąga mi tylko pierwszy znak 'k' a przecież (.+?) odpowiada za wszystko co jest potem questionmark.gif?

Dlaczego to nie działa ?
markuz
  1. preg_match_all("/v=(.+)/", $input_lines, $output_array);

http://stackoverflow.com/questions/9623879...x-question-mark - tu znajdziesz odpowiedź na swoje pytanie. Gdybyś nie mógł to zacytuję:
Cytat
Yes. + and * are called "greedy" operators: they consume as much as they can get away with. In contrast, +? and *? are the "non-greedy" versions: they consume as little as they can get away with. Search on the web for "regex greedy nongreedy" for more information/tutorials.
kuna11
Aha zachłanność smile.gif Dzięki !
trueblue
  1. $content='https://www.youtube.com/watch?v=kOkQ4T5WO9E';
  2. parse_str(parse_url($content,PHP_URL_QUERY),$output);
  3. echo $output['v'];

kuna11
Ciekawa alternatywa smile.gif
mlawnik
Na pewno szybsza.
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.