Read string before '@' in URL


Read string before '@' in URL

我最近看到https://appetize.io/docs#request-api-token利用了URL中'@'符号之前的空间(例如API-TOKEN@api.appetize.io)。是否有可能在使用PHP或.htaccess的'@'符号之前获取该字符串?

您可以使用explode()来解析它。

if (strpos($your_url, '@') !== false)
{
    $result = explode("@", $your_url)[0];
}

URL的这一部分称为username,因为它可以用于包含认证数据的URL,如:

https://username:password@example.com

您可以使用parse_url()函数,它将为您做这项工作:

$url = 'https://API-TOKEN@api.appetize.io';    
$apiToken = parse_url($url, PHP_URL_USER);    
var_dump($apiToken); // string(9) "API-TOKEN"
https://3v4l.org/hgM2i