Регулярка для поиска id видео с vk.com?

Всем привет!
Возникла необходимость вставки видео с vk.com.
Погуглив нашел не большую функцию для данной возможности.
class InfisJSC_VKontakte_MatchCallback
{
    public static function matchVKvideo($url, $matchedId, array $site)
    {
	$pageHtml = file_get_contents('http://vkontakte.ru/video' . $matchedId);
	if (preg_match('/\\\"hash2\\\":\\\"(?P<hash>[a-zA-Z0-9]+)\\\"/siU', $pageHtml, $match))
	{
	    if (preg_match('/(?P<oid>[0-9\-]+)_(?P<id>[0-9]+)/si', $matchedId, $oidid))
	    {
		return $oidid['oid'] . '_' . $oidid['id'] . '_' . $match['hash'];
	    }
	}
	elseif (preg_match('%src=\\\"http:\\\/\\\/www\.youtube\.com\\\/embed\\\/(?P<hash>[a-zA-Z0-9]+)\?%siU', $pageHtml, $match))
	{
	    return $match['hash'];
	}
	return '';
    }
/////////

Не много изменил под себя
public function matchVKvideo($url, $matchedId)
    {
		$pageHtml = file_get_contents($url);// . $matchedId);
		
		if (preg_match('/\\\"hash2\\\":\\\"(?P<hash>[a-zA-Z0-9]+)\\\"/siU', $pageHtml, $match))
		{
			if (preg_match('/(?P<oid>[0-9\-]+)_(?P<id>[0-9]+)/si', $matchedId, $oidid))
			{
				return $oidid['oid'] . '_' . $oidid['id'] . '_' . $match['hash'];
			}
		}
		elseif (preg_match('%src=\\\"http:\\\/\\\/www\.youtube\.com\\\/embed\\\/(?<hash>[a-zA-Z0-9]+)\?%isU', $pageHtml, $match))
		{
			return $match['hash'];
		}
		return '';
    }


Но столкнулся с данной проблемой,
так как в вк есть так же ютубовские видео, и данный метод должен их id тоже выдавать. Этого не происходит.
не много полазив в html'е вк, допер что id видео у ютуба может быть не только [a-zA-Z0-9] но и что то типа этого
TIZ8CVa-Zm8
причем черта может быть в любом месте, так что не все видео получается получить. В регулярках я понимаю не много, пробовал данную конструкцию
([a-zA-Z0-9]-[a-zA-Z0-9])|([a-zA-Z0-9])+
, так же парсит не все видео. Собственно как модифицировать данную регулярку?
  • Вопрос задан
  • 1136 просмотров
Решения вопроса 1
@Billy_Milligan
Так добавьте черту =)

[a-zA-Z0-9-]

Если не подходит, то для более подробного ответа приведите примеры ссылок (на видео) которые нужно парсить
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект
18 апр. 2024, в 21:00
150 руб./за проект