Научи ме

Програмиране => PHP => Темата е започната от: puzzelbrain в 14 Август 2017, 22:30:11

Титла: Youtube video
Публикувано от: puzzelbrain в 14 Август 2017, 22:30:11
Здравейте, направо на проблема - имаме някакъв текс $x = "ala bala https://www.youtube.com/watch?v=4FaRP12ck7k ala bala alabala" как мога да запиша линка на видеото в отделна променлива? Като се има предвид, че това не е задължителен формат на линка. Форматите могат да бъдат следните:

youtube.com/v/vidid
youtube.com/vi/vidid
youtube.com/?v=vidid
youtube.com/?vi=vidid
youtube.com/watch?v=vidid
youtube.com/watch?vi=vidid
youtu.be/vidid
youtube.com/embed/vidid
http://youtube.com/v/vidid
http://www.youtube.com/v/vidid
https://www.youtube.com/v/vidid
youtube.com/watch?v=vidid&wtv=wtv
http://www.youtube.com/watch?dev=inprogress&v=vidid&feature=related
https://m.youtube.com/watch?v=vidid

В $x очакваме или само линк към видеото (което би опростило работата) или текст и линка. Крайния резултат трябва да е $y=линк към видеото. След това да извлека id-то на видеото с :

Код: PHP
  1. preg_match("/^(?:http(?:s)?:\/\/)?
  2.    (?:www\.)?(?:m\.)?(?:youtu\.be\/|youtube\.com\/(?:(?:watch)?\?(?:.*&)?v(?:i)?=|
  3.    (?:embed|v|vi|user)\/))([^\?&\"'>]+)/", $url, $matches);
и да го ембедна с iframe-а на тубата. Благодаря предварително. :)
Титла: Re: Youtube video
Публикувано от: Avalanche в 17 Август 2017, 10:36:08
Важна ли ти е първата част от линка (www, http, etc)? Ако си сигурен, че след края на видеото има whitespace, може да минеш по мързеливата лаистна с нещо от сорта на това http://regexr.com/3gipq
Титла: Re: Youtube video
Публикувано от: puzzelbrain в 23 Август 2017, 09:03:42
Важна ли ти е първата част от линка (www, http, etc)? Ако си сигурен, че след края на видеото има whitespace, може да минеш по мързеливата лаистна с нещо от сорта на това http://regexr.com/3gipq

Не, първата част от линка не ми трябва. Важно ми е ID-тo на видеото за да го бутна към iframe-ът на тубата. Благодаря. :)
Титла: Re: Youtube video
Публикувано от: HanKrum в 05 Септември 2017, 22:02:54
https://stackoverflow.com/questions/11480763/how-to-get-parameters-from-a-url-string

http://php.net/manual/en/function.parse-url.php