1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Относительный Uri в Абсолютные

Тема в разделе "Регулярные выражения и парсеры", создана пользователем lazutov, 25 июл 2008.

  1. lazutov

    lazutov Гость

    Репутация:
    0
    Код:
    function u2a($link, $base)
    {
    if (!preg_match('~^(http://[^/?#]+)?([^?#]*)?(\?[^#]*)?(#.*)?$~i', $link.'#', $matchesLink)) { 
    return false;
    }	
    if (!empty($matchesLink[1])) {
    return $link;
    }
    if (!preg_match('~^(http://)?([^/?#]+)(/[^?#]*)?(\?[^#]*)?(#.*)?$~i', $base.'#', $matchesBase)) {
    return false;
    }
    if (empty($matchesLink[2])) {
    if (empty($matchesLink[3])) {
    return 'http://'.$matchesBase[2].$matchesBase[3].$matchesBase[4];;
    }
    return 'http://'.$matchesBase[2].$matchesBase[3].$matchesLink[3];
    }
    $pathLink = explode('/', $matchesLink[2]);
    if ($pathLink[0] == '') {
    return 'http://'.$matchesBase[2].$matchesLink[2].$matchesLink[3];
    }
    $pathBase = explode('/', preg_replace('~^/~', '', $matchesBase[3]));
    if (sizeOf($pathBase) > 0) {
    array_pop($pathBase);
    }
    foreach ($pathLink as $p) {
    if ($p == '.') {
    continue;
    } elseif ($p == '..') {
    if (sizeOf($pathBase) > 0) {
    array_pop($pathBase);				
    }
    } else {
    array_push($pathBase, $p);			
    }
    }	
    return 'http://'.$matchesBase[2].'/'.implode('/', $pathBase).$matchesLink[3];	
    }
     
Загрузка...
Похожие Темы - Относительный Uri Абсолютные
  1. Mister robot
    Ответов:
    15
    Просмотров:
    203
  2. Ondrik8
    Ответов:
    0
    Просмотров:
    166
  3. Saniaib
    Ответов:
    7
    Просмотров:
    322
  4. ghostphisher
    Ответов:
    0
    Просмотров:
    198
  5. a113
    Ответов:
    2
    Просмотров:
    844

Поделиться этой страницей