我有一个URL:
$url = 'https://docs.google.com/spreadsheets/d/1ljJpZDiayzMLhIJ-JDSIJjdjdY_xg3RrUDljFVRB0Qk/edit?usp=sharing#helloworld';
我希望能够从此URL中获取ID。ID是URL
1ljJpZDiayzMLhIJ-JDSIJjdjdY_xg3RrUDljFVRB0Qk
的始终不变的最长部分,因此我的方法是针对最长部分进行定位。
我该如何将此URL拆分为多个部分并获取最长部分?在使用拆分功能时,我需要忽略查询变量部分?usp=sharing#helloworld
。
我已经尝试过的方法
我尝试了一个preg_match_all()
方法,并使用了似乎无法正确拆分URL的正则表达式:
$regex = '/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/';
$url = 'https://docs.google.com/spreadsheets/d/1ljJpZDiayzMLhIJ-JDSIJjdjdY_xg3RrUDljFVRB0Qk/edit?usp=sharing#helloworld';
$result = preg_match_all($regex, $url, $matches);
print($matches);
str_replace
函数删除https://docs.google.com/
,然后通过 "/" 将字符串分割,并找到存储您的 ID 的索引。 - hungrykoalaparse_url()
和/或explode()
。 - jeroen?usp=sharing#helloworld
部分,因为有时它比 ID 更长。请随意发布答案。 - Goodbye Worldhttps://docs.google.com/
有时可能会不同,并且在检查最长部分时需要删除查询变量?usp=sharing#helloworld
。 - Goodbye World