- Модуль: seo
- Путь к файлу: ~/bitrix/modules/seo/classes/general/seo_page_checker.php
- Класс: CSeoPageChecker
- Вызов: CSeoPageChecker::IsOuterUrl
function IsOuterUrl($url)
{
if (strncmp($url, '#', 1) === 0) return false;
if (strncmp($url, 'mailto:', 7) === 0) return false;
if (strncmp($url, 'javascript:', 11) === 0) return false;
$pos = mb_strpos($url, '://');
if ($pos === false) return false;
static $arDomainNames = null;
if (null == $arDomainNames)
{
$arDomainNames = array($_SERVER['SERVER_NAME']);
$dbRes = CSite::GetList('sort', 'asc', array('ACTIVE' => 'Y'));
while ($arSite = $dbRes->Fetch())
{
if ($arSite['DOMAINS'])
$arDomainNames = array_merge($arDomainNames, explode("rn", $arSite['DOMAINS']));
}
$arDomainNames = array_values(array_unique($arDomainNames));
}
$url = mb_substr($url, $pos + 3);
$pos = mb_strpos($url, '/');
if ($pos === false)
{
$pos = mb_strlen($url);
}
$domain = mb_substr($url, 0, $pos);
if (mb_substr($domain, 0, 4) == 'www.')
{
$domain = mb_substr($domain, 4);
}
if ($domain)
return !in_array($domain, $arDomainNames);
return false;
}