Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Адрес вашего сайта» кто-то может ввести «http://site.ru», а кто-то «site.ru». Оба варианта должны быть правильно интерпретированы. Тут ЧПУ (ЧПИ ?) не при чём.http://»; присутствие/отсутствие «/» в начале. Далее всё равно нужно проверять TDL. Кроме того, на выходе я хочу получить класс Zend\Uri\Http (или, как в данном случае, его наследника). Но все нужные нам регулярные выражения уже написаны в методах класса Zend\Uri\Http. Поэтому именно в данном случае написание своих регулярных выражений — костыли. Короче и, на мой взгляд правильнее, пользоваться тем, что уже есть и написано в ZF2, и при необходимости просто дополнить. Как я и сделал.Кроме того, на выходе я хочу получить класс Zend\Uri\Http
parse_url, который написан на C?if (substr($url, 0, 1) !== '/' && !preg_match('|^http(?:s){0,1}://|i', $url)) {
$url = 'http://' . $url;
}
return parse_url($url);
["scheme" => '...', "host" => '...', "path" => '...']
Разбор URL в Zend Framework 2