• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/urlpreview/parser/common.php
  • Класс: BitrixMainUrlPreviewParserCommon
  • Вызов: Common::getVideoInfo
protected function getVideoInfo($html = '')
{
	$maxWeight = -1;
	$result = array();
	$uri = new Uri('/');
	$document = new HtmlDocument($html, $uri);
	$videoElements = $document->extractElementAttributes('video');
	foreach ($videoElements as $videoElement)
	{
		if (!isset($videoElement['src']))
		{
			$sourceElements = $document->extractElementAttributes('source');
			foreach ($sourceElements as $sourceElement)
			{
				if (
					isset($sourceElement['type'])
					&& $this->isValidVideoMimeType($sourceElement['type'])
				)
				{
					$videoElement['src'] = $sourceElement['src'];
					$videoElement['type'] = $sourceElement['type'];
					break;
				}
			}
		}
		if (isset($videoElement['src']))
		{
			if (
				(isset($videoElement['width']) &&
				isset($videoElement['height']) &&
				(int)$videoElement['width'] * (int)$videoElement['height'] > $maxWeight) ||
				(empty($result))
			)
			{
				$result = $videoElement;
				$maxWeight = 0;
				if(isset($videoElement['width']) && isset($videoElement['height']))
				{
					$maxWeight = (int)$videoElement['width'] * (int)$videoElement['height'];
				}
			}
		}
	}

	return $result;
}