我需要从以下字符串中解析ID:
https://itunes.apple.com/us/album/24k-magic/id1161503945?i=1161504024&uo=2
我只需要返回以下内容:
id1161503945
字符串总是以https://itunes.apple.com/开头,并以?i = #####& uo = 2
结尾我尝试了字符串并用通配符替换,但这无效。
好吧,您可以在以下以下使用此方面。这是工作。我有Preg_replace函数。
$data = 'https://itunes.apple.com/us/album/24k-magic/id1161503945?i=1161504024&uo=2';
echo preg_replace("/(.*)/(w+)?(.*)/","$2",$data);
输出是
ID1161503945
或者您可以使用
preg_match("/(/)(w+)(?)/",$data,$m);
echo $m[2];
相同的输出。
希望它能帮助您
如果它确实是URL中的最后一个元素(在查询参数之前),那么您可以使用此简单的正则是:
'/id[^?]+/'
注意:正如@xhienne指向的那样,如果您确定另一个id
字符串在搜索部分之前不会出现在任何地方。
如果可能发生,则使用:
'/id[d]+/'
以这种方式,相对于以前的id
字符串是安全的,但是搜索的id
必须仅遵循数字。