复制字符串php的特定部分

时间:2012-01-21 22:57:25

标签: php web

如何从特定的起始位置到结尾获取字符串的一部分。例如,我想从给定的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

如果有任何不清楚的地方,请提问。

3 个答案:

答案 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()。