- Модуль: 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;
}