скопировать определенную часть строки php - PullRequest
3 голосов
/ 22 января 2012

Как мне получить часть строки из конкретной начальной позиции до конца. Как например я хочу скопировать B000ROAQ30 с данного URL:

www.amazon.com / Black-Nokia-HS-47-стерео-гарнитура / дп / B000ROAQ30 / исх = pd_sim_hi_4

Эта B000ROAQ30 часть может встречаться в любом месте URL, как в этом случае:

www.amazon.com / ABC / cdfg / Hij / дп / B000ROAQ30 / исх = pd_sim_hi_4

Как я могу скопировать это B000ROAQ30?

Примечание B000ROAQ30 может отличаться, но иметь в начале B00.

Пожалуйста, задавайте вопросы, если что-то не понятно.

Ответы [ 3 ]

6 голосов
/ 22 января 2012

Это должно работать:

$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

3 голосов
/ 22 января 2012

Предполагая, что B00 ... всегда перед последней косой чертой:

$rurl = strrev($url);
list(,$boo) = explode('/', $rurl);
$boo = strrev($boo);

Предполагая, что вы не знаете, где находится B00, просто он начинается с B00 и заканчивается косой чертой:

preg_match('@/B00.*?/@', $boo);
$boo = trim($boo[0], '/');
0 голосов
/ 22 января 2012

Возможно, вы захотите взглянуть на parse_url () и pathinfo (), если хотите извлечь определенные части пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...