我只想打印 URL 中的特定部分,例如,如果我收到这样的 URL 响应:
我只想准确打印这部分:
XRpC8tmn2_VUz6temt_j19BIGymiYyd5ZOLoWtp1H5U
我尝试过像这样使用 substr :
$string=$headers['location'][0];
$substring = substr($string, strpos($string, '=') + 1);
// Use substr() again to get the part of the string before the semicolon
$final_string = substr($substring, 0, strpos($substring, ';'));
file_put_contents("xxx", $final_string);
$xtoken = file_get_contents("xxx");
但它不会在我的文件 xxx 中打印任何内容
但是如果我只这样应用它:
$string=$headers['location'][0];
file_put_contents("xxx", $string);
$xtoken = file_get_contents("xxx");
它会打印整行,正如我上面提到的。
希望我找到正确的指南,以便能够仅选择和打印我想要的特定部分。
谢谢你。
也许 parse_url 和 parse_str 的组合会有帮助?
举个例子:
<?php
$url = 'https://tvoauth.zapi.com/?client=zapi-web-1&session=XRpC8tmn2_VUz6temt_j19BIGymiYyd5ZOLoWtp1H5U&scopes=false&redirect=https%3A%2F%2Ftv.zapi.com';
$parsed = parse_url($url);
var_dump($parsed);
$output = [];
parse_str($parsed['query'], $output);
var_dump($output);
echo $output['session'];
给出输出:
array(4) {
["scheme"]=>
string(5) "https"
["host"]=>
string(16) "tvoauth.zapi.com"
["path"]=>
string(1) "/"
["query"]=>
string(117) "client=zapi-web-1&session=XRpC8tmn2_VUz6temt_j19BIGymiYyd5ZOLoWtp1H5U&scopes=false&redirect=https%3A%2F%2Ftv.zapi.com"
}
array(4) {
["client"]=>
string(10) "zapi-web-1"
["session"]=>
string(43) "XRpC8tmn2_VUz6temt_j19BIGymiYyd5ZOLoWtp1H5U"
["scopes"]=>
string(5) "false"
["redirect"]=>
string(19) "https://tv.zapi.com"
}
XRpC8tmn2_VUz6temt_j19BIGymiYyd5ZOLoWtp1H5U