PHP проверить сценарий YouTube - PullRequest
1 голос
/ 02 мая 2009

У меня есть сайт, который позволяет пользователям копировать и вставлять встроенный видео-скрипт, который предоставляет YouTube, и загружать его в базу данных. Я хочу иметь возможность проверить, что этот сценарий является действительным сценарием YouTube, а не просто произвольным текстом, который кто-то напечатал. Я считаю, что это можно сделать с помощью preg match. Есть идеи?

Ответы [ 2 ]

3 голосов
/ 02 мая 2009

Вы можете использовать:

preg_match('/^<object (?<width_height>width="[[:digit:]]+" height="[[:digit:]]+")><param name="movie" value=(?<url>"http:\/\/www.youtube.com\/v\/[^&]+&hl=[[:alpha:]]{2}&fs=1")><\/param><param name="allowFullScreen" value="true"><\/param><param name="(?<asa>allowscriptaccess)" value="always"><\/param><embed src=(?P=url) type="application\/x-shockwave-flash" (?P=asa)="always" allowfullscreen="true" (?P=width_height)><\/embed><\/object>$/', $yt);

но было бы лучше просто ввести URL-адрес (который гораздо проще проверить и проанализировать) и сгенерировать его самостоятельно.

0 голосов
/ 23 декабря 2009

Для соответствия URL:

$pattern = '/.*youtube.*(v=|\/v\/)([^&\/]*).*/i';
preg_match($pattern, $video, $matches)
$videoId = $matches[2];

Затем вы можете использовать $videoId для перехода в любой формат YouTube URL, который вы хотите.

...