osw3 / uri
此包的最新版本(dev-master)没有可用的许可证信息。
解析和操作URI、URL和URN。
dev-master
2019-09-08 23:51 UTC
Requires
- layershifter/tld-extract: ^2.0
This package is auto-updated.
Last update: 2024-09-07 02:08:40 UTC
README
解析和操作URI、URL和URN。
安装
composer require osw3/uri
用法
new Uri(string $uri);
$uri(字符串) 您要解析的URI。
解析URI
// use namsespace use OSW3\Uri; // ... // Instanciate Uri() $uri = new Uri("http://foo.bar/opensource/database?param=value#resource"); // .. // Get URI parameters print_r( $uri->parameters() );
输出方法
print([$type])
返回URI字符串
$uri->print(); $uri->print('uri'); // default $uri->print('url'); $uri->print('urn');
parameters()
返回所有URI参数的数组
$uri->parameters();
Array
(
[original] => http://foo.bar/opensource/database?param=value#resource
[hash] => 8055f2691c03d7ef54cbec8af205de5a
[secured] =>
[uri] => Array
(
[text] => http://foo.bar/opensource/database?param=value#resource=
[md5] => 6c89b086480fbea32bacfd40251d7cce
[sha1] => 901bfc28a6713be0de7c0948b031c6456bc05279
)
[url] => Array
(
[text] => http://foo.bar/opensource/database
[md5] => 05386599aadf31b39042b64d77637a25
[sha1] => 3f681fc482c68feb13f41654f354ec23a75844a4
)
[urn] => Array
(
[text] => foo.bar/opensource/database?param=value#resource=
[md5] => e0c2f7057a96f7115844a3bc5eb62891
[sha1] => 9e7d3b3bbc40810f62cbdb1e5ca9a7e8295a0215
)
[scheme] => http
[protocol] => http://
[user] =>
[pass] =>
[host] => foo.bar
[registrable_domain] => foo.bar
[subdomain] =>
[hostname] => foo
[tld] => bar
[isValidDomain] => 1
[isIp] =>
[port] =>
[path] => /opensource/database
[segments] => Array
(
[0] => opensource
[1] => database
)
[file] =>
[dirname] =>
[filename] =>
[extension] =>
[query] => param=value
[parameters] => Array
(
[param] => value
)
[fragment] => resource
[fragments] => Array
(
[resource] =>
)
)
getUri()
返回原始URI(您的输入)
$uri->getUri();
getScheme()(字符串)
返回URI方案。(例如:http, https)
$uri->getScheme();
getProtocol()(字符串)
返回URI协议。(例如:http://, https://)
$uri->getProtocol();
getIsSecured()(布尔值)
如果传输是安全的(例如:https),则返回TRUE。
如果传输不是安全的(例如:http),则返回FALSE。
$uri->getIsSecured();
getUser()(null|string)
返回URI的用户名
$uri->getUser();
getPass()(null|string)
返回URI的密码
$uri->getPass();
getHost()
$uri->getHost();
getPort()
$uri->getPort();
getPath()
$uri->getPath();
getSegment()
$uri->getSegment();
getSegments()
$uri->getSegments();
getQuery()
$uri->getQuery();
getParameter()
$uri->getParameter();
getParameters()
$uri->getParameters();
getFragment()
$uri->getFragment();
getFragmentsParameter()
$uri->getFragmentsParameter();
getFragments()
$uri->getFragments();
getHostname()
$uri->getHostname();
getSubdomain()
$uri->getSubdomain();
getTld()
$uri->getTld();
getRegistrableDomain()
$uri->getRegistrableDomain();
getIsValidDomain()
$uri->getIsValidDomain();
getIsIp()
$uri->getIsIp();
操作
changeScheme(string $scheme)
更改方案(例如:http到view-source)。
所有有效方案在这里。
$uri->changeScheme('view-source');
secure(bool $secure)
如果$secure为TRUE,设置ON安全传输(例如:http到https)
如果$secure为FALSE,设置OFF安全传输(例如:https到http)
$uri->secure(true);
toggleSecure()
切换安全传输
$uri->toggleSecure();
addUser()
如果未定义,添加用户名
$uri->addUser('Bob');
changeUser()
更改或添加用户名
$uri->changeUser('John');
addPass()
如果未定义,添加密码
$uri->addPass('123456!');
changePass()
更改或添加密码
$uri->changePass('l2EAS6!');
changeHost()
更改完整主机
$uri->changeHost('www.google.com');
addSubdomain()
如果未定义,添加子域
$uri->addSubdomain('app');
changeSubdomain()
更改或添加子域
$uri->changeSubdomain('store');
removeSubdomain()
删除子域
$uri->removeSubdomain();
changeHostname()
更改主机名
$uri->changeHostname('goo');
changeTld()
更改顶级域名(TLD)
$uri->changeTld('gl');
addPort()
如果未定义,添加端口号
$uri->addPort(8080);
changePort()
更改或添加端口号
$uri->changePort(8082);
addSegment()
添加一个段
$uri->addSegment('folder_A');
replaceSegment()
替换一个段
$uri->replaceSegment(1, 'folder_C'); // Replace the N segment $uri->replaceSegment('folder_B', 'folder_C'); // Replace the segment 'folder_B'
removeSegment()
删除一个段
$uri->removeSegment('folder_A');
removeSegments()
删除所有段
$uri->removeSegments();
resetSegments()
重置段
$uri->resetSegments();
addParameter()
添加一个参数
$uri->addParameter('p1', 'lorem ipsum');
replaceParameter()
替换一个参数
$uri->replaceParameter('p2', 42);
removeParameter()
删除一个参数
$uri->removeParameter('p2');
removeParameters()
删除所有参数
$uri->removeParameters();
resetParameters()
重置参数
$uri->resetParameters();
addFragment()
添加一个片段
$uri->addFragment('p1', 'lorem ipsum');
replaceFragment()
替换一个片段
$uri->replaceFragment('p2', 42);
removeFragment()
删除一个片段
$uri->removeFragment('p2');
removeFragments()
删除所有片段
$uri->removeFragments();
resetFragments()
重置片段
$uri->resetFragments();