• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/componenthelper.php
  • Класс: BitrixSocialnetworkComponentHelper
  • Вызов: ComponentHelper::getUrlPreviewValue
static function getUrlPreviewValue($text, $html = true)
{
	static $parser = false;
	$value = false;

	if (empty($text))
	{
		return $value;
	}

	if (!$parser)
	{
		$parser = new CTextParser();
	}

	if ($html)
	{
		$text = $parser->convertHtmlToBB($text);
	}

	preg_match_all("/[urls*=s*([^]]*)](.+?)[/url]/is".BX_UTF_PCRE_MODIFIER, $text, $res);

	if (
		!empty($res)
		&& !empty($res[1])
	)
	{
		$url = (
			!Application::isUtfMode()
				? BitrixMainTextEncoding::convertEncoding($res[1][0], 'UTF-8', BitrixMainContext::getCurrent()->getCulture()->getCharset())
				: $res[1][0]
		);

		$metaData = UrlPreview::getMetadataAndHtmlByUrl($url, true, false);
		if (
			!empty($metaData)
			&& !empty($metaData["ID"])
			&& (int)$metaData["ID"] > 0
		)
		{
			$signer = new BitrixMainSecuritySignSigner();
			$value = $signer->sign($metaData["ID"].'', UrlPreview::SIGN_SALT);
		}
	}

	return $value;
}