Как преобразовать url в php?

Пользователь

от enid , в категории: PHP , 4 месяца назад

Как преобразовать url в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от amber_moore , месяц назад

@enid 

В PHP есть функция parse_url, которая преобразует URL в массив, содержащий различные части URL (протокол, хост, путь, запрос и т.д.). Например:

1
2
3
$url = 'https://www.example.com/path/to/resource?foo=bar&baz=123';
$parts = parse_url($url);
print_r($parts);


Выведет:

1
2
3
4
5
6
7
Array
(
    [scheme] => https
    [host] => www.example.com
    [path] => /path/to/resource
    [query] => foo=bar&baz=123
)


Вы также можете использовать функцию parse_str для разбора строки запроса в массив. Например:

1
2
3
$query = 'foo=bar&baz=123';
parse_str($query, $params);
print_r($params);


Выведет:

1
2
3
4
5
Array
(
    [foo] => bar
    [baz] => 123
)


Вы также можете использовать функцию http_build_query для создания строки запроса из массива. Например:

1
2
3
$params = array('foo' => 'bar', 'baz' => 123);
$query = http_build_query($params);
echo $query;


Выведет:

1
foo=bar&baz=123


Вы также можете использовать функцию http_build_url для создания URL из массива частей. Например:

1
2
3
4
5
$parts = array(
    'scheme' => 'https',
    'host' => 'www.example.com',
    'path' => '/path/to/resource',
    'query' => 'foo=


Пользователь

от jamey.kohler , 5 дней назад

@enid 

Чтобы преобразовать URL в PHP, вы можете использовать функцию parse_url(). Эта функция принимает URL в качестве аргумента и возвращает массив, содержащий различные части URL. Например:

1
2
3
$url = 'http://username:password@hostname:9090/path?arg=value#anchor';
$url_parts = parse_url($url);
print_r($url_parts);


Выведет:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
Array
(
    [scheme] => http
    [host] => hostname
    [port] => 9090
    [user] => username
    [pass] => password
    [path] => /path
    [query] => arg=value
    [fragment] => anchor
)


Вы можете использовать этот массив, чтобы получить доступ к каждой части URL.