如何从特定的起始位置到结尾获取字符串的一部分。例如,我想从给定的URL中复制B000ROAQ30
:
www.amazon.com/Black-Nokia-HS-47-Stereo-Headset/dp/B000ROAQ30/ref=pd_sim_hi_4
此B000ROAQ30
部分可以在网址中的任何位置出现,例如:
www.amazon.com/abc/cdfg/hij/dp/B000ROAQ30/ref=pd_sim_hi_4
如何复制B000ROAQ30
?
注意B000ROAQ30
可能不同,但一开始就有B00
。
如果有任何不清楚的地方,请提问。
答案 0 :(得分:6)
这应该有效:
$url = 'www.amazon.com/Black-Nokia-HS-47-Stereo-Headset/dp/B000ROAQ30/ref=pd_sim_hi_4';
preg_match('/B00[0-9A-Z]+/', $url, $matches);
$result = $matches[0];
在这种情况下, $result
将是:B000ROAQ30
。请在此处查看:http://ideone.com/XrjIG
答案 1 :(得分:3)
假设B00 ...总是在最后一个斜线之前:
$rurl = strrev($url);
list(,$boo) = explode('/', $rurl);
$boo = strrev($boo);
假设您不知道B00在哪里,只是它以B00开头并以斜线结尾:
preg_match('@/B00.*?/@', $boo);
$boo = trim($boo[0], '/');
答案 2 :(得分:0)
如果你想提取某些路径部分,你可能想看看parse_url()和pathinfo()。