Регулярные выражения. Найти все совпадения

AmberLX

Новичок
Регулярные выражения. Найти все совпадения

Помогите пжлуста. Есть такой бред:
PHP:
$t = "icphpBB2/thumbs/122886316799613695.jpg[/img:2bgxkozb][/url:2bgxkozb][url=http://mybb2.ru/show450693:2bgxkozb]img:2bgxkozb]http://starina//picphpBB2/thumbs/122886335203217183.jpg[/img:2bgxkozb][/url:2bgxkozb][url=http://mybb2.ru/show/450700:2bgxkozb][img:2bgxkozb]http://starina//picphpBB2/thumbs/122886343015706794.pg[/img:2bgxkozb][/url:2bgxkozb]";
требуется найти все:

thumbs/122886316799613695
thumbs/122886335203217183
thumbs/122886343015706794

цифер может быть от 17 и больше.

я пишу:
PHP:
preg_match_all ("/^.*(thumbs\/)([0-9]{17,})/", $t, $matches);
echo $matches[1][0].$matches[2][0];
выдает только последнее:

thumbs/122886343015706794

как получить все? Уже столько перепробовал :(
 

john.brown

просто кулибин
/(thumbs\/[0-9]{17,})/
Вот это вот - ^.* у тебя захватывает максимально возможное количество символов до совпадения с начала строки. В результате получаеш токмо последнее совпадение.
И запоминать два отдельных куска тоже нет необходимосьти.
 

AmberLX

Новичок
Спасибо. Написал так:

preg_match_all("/thumbs\/[0-9]{17,}/", $t, $matches);
for($i=0; $i< count($matches[0]); $i++){
echo $matches[0][$i].'<br>';
}

Выдает:

thumbs/122886316799613695
thumbs/122886335203217183
thumbs/122886343015706794
 
Сверху