Как подойти к освобождению кода встраивания YouTube - PullRequest
0 голосов
/ 13 августа 2010

У меня есть сайт, основанный на php / mySQL, где издатели вставили много видео с YouTube в определенный столбец базы данных, копируя / вставляя коды для вставки YouTube. Существует большое разнообразие кодов, отражающих изменения, сделанные Google во время. Разные размеры окна плеера - основная вариация. Теперь мне нужно унифицировать все окна, но я не знаю, с чего начать. Мне нужно получить что-то вроде регулярного выражения для удаления всего ненужного кода из различных записей (т. Е. Преобразовать все встраиваемые коды в их соответствующие URL-адреса YouTube?), А затем создать скрипт для генерации кода выполнения проигрывателя ... Некоторая помощь посмотреть, с чего начать? Спасибо!

1 Ответ

1 голос
/ 13 августа 2010

Новое полное решение:

<?php
//your bad code which you want to sanitize
$BadCode = '<object width="640" height="385">
<param name="movie" value="http://www.youtube.com/v/TvJsRX9SKUo?fs=1&hl=it_IT"></param>
<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/TvJsRX9SKUo?fs=1&hl=it_IT" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed>
</object>';


//Get Youtube Video ID
preg_match('#(?<=youtube\.com/v/)\w+#', $BadCode, $matches);
$VideoID = $matches[0];


//New Correct and consistent embed code template. Create whatever consistent template you want. Then all your videos will follow this template. Change the place where video-id appears as [VIDEOID]
$template = '<object type="application/x-shockwave-flash" style="width:450px; height:366px;" data="http://www.youtube.com/v/[VIDEOID]?showsearch=0&amp;fs=1">
<param name="movie" value="http://www.youtube.com/v/[VIDEOID]?showsearch=0&amp;fs=1" /><param name="allowFullScreen" value="true" />
</object>';

//Insert our VideoID into this template.
$GoodCode = str_replace('[VIDEOID]', $VideoID, $template);

//Display code for testing
echo $GoodCode;

//Update your database table (please change variables yourself)
//mysql_query("update tablename set YoutubeCode = '".$GoodCode."' where ID={$ID}");
?>

Старый краткий ответ:

[Regex для извлечения ID видео]. После получения идентификатора видео, у вас есть идентификатор видео. Используйте этот идентификатор для создания чистого согласованного кода для всех ваших видео. Затем обновите базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...