Регулярка возвращает не все

Статус
В этой теме нельзя размещать новые ответы.

partizzzzzan

Создатель
Регистрация
8 Май 2010
Сообщения
23
Реакции
1
Есть такой код
HTML:
<a href="javascript:void(0);" class="tooltip" title="Blue" onclick="$('.jqzoom').attr('onclick', 'turnOn(0)'); $('#alt_gallery').remove(); $('<div id=\'alt_gallery\'>Blue <span><a href=\'/img/manufacture/1/5/34221.jpeg\' target=\'blank\'>Скачать изображение</a></span></div>').appendTo('#imgdiv');" rel="{gallery: 'gallery', smallimage: '/img/manufacture/1/5/34222.jpeg', largeimage: '/img/manufacture/1/5/34221.jpeg'}"><img title="Blue" src="/img/manufacture/1/5/34224.jpeg" alt="Коляска Jetem Twist" /><span class="classic">Blue</span></a><a href="javascript:void(0);" class="tooltip" title="Grey" onclick="$('.jqzoom').attr('onclick', 'turnOn(1)'); $('#alt_gallery').remove(); $('<div id=\'alt_gallery\'>Grey <span><a href=\'/img/manufacture/1/5/34231.jpeg\' target=\'blank\'>Скачать изображение</a></span></div>').appendTo('#imgdiv');" rel="{gallery: 'gallery', smallimage: '/img/manufacture/1/5/34232.jpeg', largeimage: '/img/manufacture/1/5/34231.jpeg'}"><img title="Grey" src="/img/manufacture/1/5/34234.jpeg" alt="Коляска Jetem Twist" /><span class="classic">Grey</span></a><a href="javascript:void(0);" class="tooltip" title="Orange/Grey" onclick="$('.jqzoom').attr('onclick', 'turnOn(2)'); $('#alt_gallery').remove(); $('<div id=\'alt_gallery\'>Orange/Grey <span><a href=\'/img/manufacture/1/5/34241.jpeg\' target=\'blank\'>Скачать изображение</a></span></div>').appendTo('#imgdiv');" rel="{gallery: 'gallery', smallimage: '/img/manufacture/1/5/34242.jpeg', largeimage: '/img/manufacture/1/5/34241.jpeg'}"><img title="Orange/Grey" src="/img/manufacture/1/5/34244.jpeg" alt="Коляска Jetem Twist" /><span class="classic">Orange/Grey</span></a><a href="javascript:void(0);" class="tooltip" title="Pistacio" onclick="$('.jqzoom').attr('onclick', 'turnOn(3)'); $('#alt_gallery').remove(); $('<div id=\'alt_gallery\'>Pistacio <span><a href=\'/img/manufacture/1/5/34251.jpeg\' target=\'blank\'>Скачать изображение</a></span></div>').appendTo('#imgdiv');" rel="{gallery: 'gallery', smallimage: '/img/manufacture/1/5/34252.jpeg', largeimage: '/img/manufacture/1/5/34251.jpeg'}"><img title="Pistacio" src="/img/manufacture/1/5/34254.jpeg" alt="Коляска Jetem Twist" /><span class="classic">Pistacio</span></a><a href="javascript:void(0);" class="tooltip" title="Violet" onclick="$('.jqzoom').attr('onclick', 'turnOn(4)'); $('#alt_gallery').remove(); $('<div id=\'alt_gallery\'>Violet <span><a href=\'/img/manufacture/1/5/34261.jpeg\' target=\'blank\'>Скачать изображение</a></span></div>').appendTo('#imgdiv');" rel="{gallery: 'gallery', smallimage: '/img/manufacture/1/5/34262.jpeg', largeimage: '/img/manufacture/1/5/34261.jpeg'}"><img title="Violet" src="/img/manufacture/1/5/34264.jpeg" alt="Коляска Jetem Twist" /><span class="classic">Violet</span></a><a href="javascript:void(0);" class="tooltip" title="Blue" onclick="$('.jqzoom').attr('onclick', 'turnOn(5)'); $('#alt_gallery').remove(); $('<div id=\'alt_gallery\'>Blue <span><a href=\'/img/manufacture/1/5/34281.jpeg\' target=\'blank\'>Скачать изображение</a></span></div>').appendTo('#imgdiv');" rel="{gallery: 'gallery', smallimage: '/img/manufacture/1/5/34282.jpeg', largeimage: '/img/manufacture/1/5/34281.jpeg'}"><img title="Blue" src="/img/manufacture/1/5/34284.jpeg" alt="Коляска Jetem Twist" /><span class="classic">Blue</span></a>
нужно найти:
largeimage: '/img/manufacture/1/5/34221.jpeg'
largeimage: '/img/manufacture/1/5/34231.jpeg'
largeimage: '/img/manufacture/1/5/34241.jpeg'
largeimage: '/img/manufacture/1/5/34251.jpeg'
largeimage: '/img/manufacture/1/5/34261.jpeg'
largeimage: '/img/manufacture/1/5/34281.jpeg'

применяю регулярку:
/largeimage: [\S]+\.(?:jpeg|jpg|gif)\'/
В онлайн-конструкторах регулярок это срабатывает,
но php функция
PHP:
preg_match_all("/largeimage: [\S]+\.(?:jpeg|jpg|gif)\'/", $str, $img)
возвращает только первое вхождения. остальные не удается получить... не знаю в чем проблема.
 
У меня регулярка работает без проблем.
001.jpg
Может что с переменными напутали?
 
У меня то же все работает. Скорее всего, дело действительно в переменных, проверьте их.
 
а если добавить в конец модификатор /m

и возмите в скобки ту часть на которую нужно мультирезультат получить
/largeimage: ([\S]+\.(?:jpeg|jpg|gif))\'/m
 
Последнее редактирование модератором:
Да мой косяк был, все поправил, заработало!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху