Вход Регистрация
Файл: share/sys/classes/shareCheck.class.php
Строк: 10
<?php
abstract class shareCheck{
    static function 
url($url){
        
// Массив с компонентами URL, сгенерированный функцией parse_url()
        
$arUrl parse_url($url) ;
        
$arUrl['path'] = isset($arUrl['path']) ? $arUrl['path'] : '' ;
        
$ret = array() ;

        
// Если не был указан протокол, или
        // указанный протокол некорректен для url
        
if(!array_key_exists('scheme'$arUrl) || !in_array($arUrl['scheme'], array('http''https'))){
            
// Задаем протокол по умолчанию - http
            
$arUrl['scheme'] = 'http' ;
        }
        
// Если функция parse_url смогла определить host
        
if (array_key_exists('host'$arUrl) && !empty($arUrl['host'])){
            
// Собираем конечное значение url
            
$ret[] = sprintf('%s://%s%s'$arUrl['scheme'], $arUrl['host'], $arUrl['path']) ;
        }
        
// Если значение хоста не определено
        // (обычно так бывает, если не указан протокол),
        // Проверяем $arUrl['path'] на соответствие шаблона URL.
        
elseif(preg_match('/^w+.[w.]+(/.*)?$/'$arUrl['path'])){
            
// Собираем URL
            
$ret[] = sprintf('%s://%s'$arUrl['scheme'], $arUrl['path']) ;
        }
        
// Если url валидный и передана строка параметров запроса
        
if(count($ret) && !empty($arUrl['query'])){
            
$ret[] = sprintf('?%s'$arUrl['query']) ;
        }
        return 
join($ret) ;
    }
}
Онлайн: 0
Реклама