SQL-запрос для получения идентификатора YouTube из встроенного кода

0

У меня есть множество видеоданных:

 <object width="560" height="315"><param name="movie" 
 value="http://www.youtube.com/v/2rwPGGdB1_4?version=3&hl=uk_UA&rel=0">
 </param><param name="allowFullScreen" value="true"></param><param 
 name="allowscriptaccess" value="always"></param><embed 
 src="http://www.youtube.com/v/2rwPGGdB1_4?version=3&hl=uk_UA&rel=0" 
 type="application/x-shockwave-flash" width="560" height="315" 
 allowscriptaccess="always" allowfullscreen="true"></embed></object>

Я хочу выбрать и экспортировать идентификаторы из этого набора информации, так как новый сайт исключает только идентификаторы. Поэтому мне нужно как-то захватить часть между v/и?. Как это сделать в SQL-запросе?

  • 0
    Извините, я отформатировал код
Теги:
database
youtube

2 ответа

0

Я нашел свое решение в MySql. Во-первых, я нашел индекс '/v/' с SELECT exvid_code, LOCATE('/v/', exvid_code), LOCATE('?', exvid_code) FROM exvid

После этого я выполнил подстроку, чтобы захватить id:

SELECT SUBSTRING(exvid_code, 83,10) AS id FROM 'exvid'
0

Вы не можете сделать это с помощью чистого MySQL. REGEXP работает только как фильтр и, таким образом, возвращает 0 или 1, не предоставляя доступ к группе захвата.

Решения включают либо пользовательскую функцию, либо использование другой СУБД, если вы хотите сделать это строго в SQL. Как заменить регулярное выражение в MySQL?

Если вы можете использовать любой скриптовый или скомпилированный язык, что-то вроде

'<object width="560" height="315"><param name="movie"  value="http://www.youtube.com/v/2rwPGGdB1_4?version=3&hl=uk_UA&rel=0"> </param><param name="allowFullScreen" value="true"></param><param  name="allowscriptaccess" value="always"></param><embed  src="http://www.youtube.com/v/2rwPGGdB1_4?version=3&hl=uk_UA&rel=0"  type="application/x-shockwave-flash" width="560" height="315"  allowscriptaccess="always" allowfullscreen="true"></embed></object>'.match(/youtube\.com\/v\/([^?]+)?/);

должен сделать трюк и, если совместим с PCRE, вернет идентификатор видео во второй группе захвата.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню