你只需要解决这个php问题
我需要的是只获取从远程服务器获取的文本的特定部分。所以远程服务器给了我这种内容
...":" http://xxxxxxxx.com?source=yyyyy&service=zzzzz&token=47baiufbweiwrwrqwr21"" ...........
我只需要回到这一部分:令牌= 47baiufbweiwrwrqwr21
感谢您的帮助
答案 0 :(得分:0)
使用parse_url()和preg_match()
$url = 'http://xxxxxxxx.com?source=yyyyy&service=zzzzz&token=47baiufbweiwrwrqwr21';
$query = parse_url($url, PHP_URL_QUERY);
preg_match('/token=([a-z0-9]+)/i', $query, $token);
echo $token[1];
parse_url()返回URL的组件。 您希望拥有特定的Query-Parameter,因此您可以使用PHP_URL_QUERY-Component。在此之后,您使用正则表达式提取令牌,该正则表达式搜索参数名称"令牌"然后是" ="。然后你会捕捉到你想要的所有角色(a-z和0-9)。您为i-Delimiter设置了一个不区分大小写的搜索。 $ token [1]返回Subpattern(Brackets)中的Match。
如果从文件中获取URL,则可以使用file_get_contents()将其读入字符串。
答案 1 :(得分:0)
您可以使用substr和stripos 这将确保您获得正确的部分,即使变量的顺序不同且不区分大小写。
$url = 'http://xxxxxxxx.com?source=yyyyy&token=47baiufbweiwrwrqwr21&service=zzzzz';
$pos = stripos($url, "token");
$pos2 = stripos($url, "&", $pos);
If($pos2 > 0){
Echo substr($url, $pos, $pos2-$pos);
}Else{
Echo substr($url, $pos);
}
编辑抱歉我的手机自动修正了我的stripos到strpos。搞笑如何我的手机开始学习PHP。