我知道您可以轻松地从当前所在的页面获取参数,但是您可以轻松地从任何 URL 字符串中获取相同的参数吗?
我需要从像https://market.android.com/details?id=com.zeptolab.ctr.paid?t=W251bGwsMSwxLDIxMiwiY29tLnplcHRvbGFiLmN0ci5wYWlkIl0
.
我怎样才能用 PHP 做到这一点?是否有内置函数,或者我必须使用正则表达式?
我知道您可以轻松地从当前所在的页面获取参数,但是您可以轻松地从任何 URL 字符串中获取相同的参数吗?
我需要从像https://market.android.com/details?id=com.zeptolab.ctr.paid?t=W251bGwsMSwxLDIxMiwiY29tLnplcHRvbGFiLmN0ci5wYWlkIl0
.
我怎样才能用 PHP 做到这一点?是否有内置函数,或者我必须使用正则表达式?
$url = 'https://market.android.com/details?id=com.zeptolab.ctr.paid?t=W251bGwsMSwxLDIxMiwiY29tLnplcHRvbGFiLmN0ci5wYWlkIl0';
$arr = parse_url($url);
parse_str($arr['query']);
echo $id; //com.zeptolab.ctr.paid?t=W251bGwsMSwxLDIxMiwiY29tLnplcHRvbGFiLmN0ci5wYWlkIl0
Yes you can.
From the PHP docs:
<?php
$url = 'http://username:password@hostname/path?arg=value#anchor';
print_r(parse_url($url));
echo parse_url($url, PHP_URL_PATH);
?>
The above example will output:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)
/path
There's parse_url()
:
function extractGETParams($url)
{
$query_str = parse_url($url, PHP_URL_QUERY);
$parts = explode('&', $query_str);
$return = array();
foreach ( $parts as $part )
{
$param = explode('=', $part);
$return[$param[0]] = $param[1];
}
return $return;
}
$url = 'http://username:password@hostname/path?arg=value&arg2=value2#anchor';
var_dump( extractGETParams($url) );
On Codepad.org: http://codepad.org/mHXnOYlc
You can use parse_str(), and then access the variable $id.