- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/urlpreview/urlpreview.php
- Класс: BitrixMainUrlPreviewUrlPreview
- Вызов: UrlPreview::fetchUrlMetadata
static function fetchUrlMetadata($url)
{
$fullUrl = static::unfoldShortLink($url);
$uriParser = new Uri($fullUrl);
if (static::isUrlLocal($uriParser))
{
if ($routeRecord = Router::dispatch($uriParser))
{
$metadata = array(
'URL' => $url,
'TYPE' => UrlMetadataTable::TYPE_DYNAMIC,
);
}
}
else
{
$metadataRemote = static::getRemoteUrlMetadata($uriParser);
if (is_array($metadataRemote) && !empty($metadataRemote))
{
$metadata = array(
'URL' => $url,
'TYPE' => $metadataRemote['TYPE'] ?? UrlMetadataTable::TYPE_STATIC,
'TITLE' => $metadataRemote['TITLE'] ?? '',
'DESCRIPTION' => $metadataRemote['DESCRIPTION'] ?? '',
'IMAGE_ID' => $metadataRemote['IMAGE_ID'] ?? null,
'IMAGE' => $metadataRemote['IMAGE'] ?? null,
'EMBED' => $metadataRemote['EMBED'] ?? null,
'EXTRA' => $metadataRemote['EXTRA'] ?? null,
'DATE_EXPIRE' => $metadataRemote['DATE_EXPIRE'] ?? null,
);
}
}
if (isset($metadata['TYPE']))
{
return $metadata;
}
return false;
}