Aion-Format
view release on metacpan or search on metacpan
lib/Aion/Format/Url.md view on Meta::CPAN
!ru:en
# NAME
Aion::Format::Url - ÑÑилиÑÑ Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ URL-адÑеÑов
# SYNOPSIS
```perl
use Aion::Format::Url;
to_url_params {a => 1, b => [[1,2],3,{x=>10}]} # => a&b[][]&b[][1]=2&b[1]=3&b[2][x]=10
normalize_url "?x", "http://load.er/fix/mix?y=6" # => http://load.er/fix/mix?x
```
# DESCRIPTION
УÑилиÑÑ Ð´Ð»Ñ ÐºÐ¾Ð´Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ декодиÑÐ¾Ð²Ð°Ð½Ð¸Ñ URL-адÑеÑов.
# SUBROUTINES
## to_url_param (;$scalar)
ÐкÑаниÑÑÐµÑ `$scalar` Ð´Ð»Ñ ÑаÑÑи поиÑка URL.
```perl
to_url_param "a b" # => a+b
[map to_url_param, "a b", "ð¦"] # --> [qw/a+b %F0%9F%A6%81/]
```
## to_url_params (;$hash_ref)
ÐенеÑиÑÑÐµÑ Ð¿Ð¾Ð¸ÑковÑÑ ÑаÑÑÑ URL-адÑеÑа.
```perl
local $_ = {a => 1, b => [[1,2],3,{x=>10}]};
to_url_params # => a&b[][]&b[][1]=2&b[1]=3&b[2][x]=10
```
1. ÐлÑÑи Ñо знаÑениÑми `undef` оÑбÑаÑÑваÑÑÑÑ.
1. ÐнаÑение `1` иÑполÑзÑеÑÑÑ Ð´Ð»Ñ ÐºÐ»ÑÑа без знаÑениÑ.
1. ÐлÑÑи пÑеобÑазÑÑÑÑÑ Ð² алÑавиÑном поÑÑдке.
```perl
to_url_params {k => "", n => undef, f => 1} # => f&k=
```
## from_url_params (;$scalar)
ÐаÑÑÐ¸Ñ Ð¿Ð¾Ð¸ÑковÑÑ ÑаÑÑÑ URL-адÑеÑа.
```perl
local $_ = 'a&b[][]&b[][1]=2&b[1]=3&b[2][x]=10';
from_url_params # --> {a => 1, b => [[1,2],3,{x=>10}]}
```
## from_url_param (;$scalar)
ÐÑполÑзÑеÑÑÑ Ð´Ð»Ñ Ð¿Ð°ÑÑинга клÑÑей и знаÑений в паÑамеÑÑе URL.
ÐбÑаÑнÑй к `to_url_param`.
```perl
local $_ = to_url_param 'â¬';
from_url_param # => â¬
```
## parse_url ($url, $onpage, $dir)
ÐаÑÑÐ¸Ñ Ð¸ ноÑмализÑÐµÑ URL.
* `$url` â URL-адÑÐµÑ Ð¸Ð»Ð¸ его ÑаÑÑÑ Ð´Ð»Ñ Ð¿Ð°ÑÑинга.
* `$onpage` â URL-адÑÐµÑ ÑÑÑаниÑÑ Ñ `$url`. ÐÑли `$url` не завеÑÑен, Ñо он дополнÑеÑÑÑ Ð¾ÑÑÑда. ÐеобÑзаÑелÑнÑй. Ðо ÑмолÑÐ°Ð½Ð¸Ñ Ð¸ÑполÑзÑÐµÑ ÐºÐ¾Ð½ÑигÑÑаÑÐ¸Ñ `$onp...
* `$dir` (bool): 1 â ноÑмализоваÑÑ URL-пÑÑÑ Ñ "/" на конÑе, еÑли ÑÑо каÑалог. 0 â без «/».
```perl
my $res = {
proto => "off",
dom => "off",
domain => "off",
link => "off://off",
orig => "",
onpage => "off://off",
};
parse_url "" # --> $res
$res = {
( run in 1.206 second using v1.01-cache-2.11-cpan-39bf76dae61 )