Я не буду вставлять модуль синтаксического анализа HTML (хотя LinkExtor может быть вашим другом здесь ...), поскольку я понимаю проблемы, которые могут возникнуть с анализаторами HTML: если HTML-код работает неправильнодействительно, они часто задыхаются, когда простое регулярное выражение может добиться цели на что угодно, независимо от того, насколько сломан, если вы ищете правильную вещь.
Как было сказано выше CanSpice, (. *)жадныйНежадный модификатор обычно делает то, что вы хотите.Однако, другой вариант - позволить ему быть жадным, но убедитесь, что он ничего не захватывает после указанного в кавычках атрибута src тега image:
/<img src="http:\/\/www\.gamereplays.org\/community\/style_medals\/([^"]*)$id2\.gif"[^>]*>/
Примечание: я также изменил его, чтобы ему было все равноатрибут alt.Однако я не знаком с сайтом, с которого вы что-то захватываете.
Если это сгенерированный код, все будет хорошо, если они не изменят что-либо в большом масштабе.Но чтобы избежать этой непредвиденной ситуации, даже если не использовать надлежащий HTML-парсер, вы можете написать мини-парсер только для тегов изображения - извлеките теги изображения в ключи хэша (захватите их с помощью регулярного выражения, например / <\ s * (img \ s + [^>] ) \ s > / ), а затем для каждого ключа в хэше (использование хэша позволяет избежать дублирования), а затем прочитать все в кавычкахв отдельное хранилище и замените указанные значения в кавычках, чтобы удалить все пробелы внутри кавычек, затем разделите их на атрибуты в пустом пространстве (с элементом 0 будет тэг, а остальные будут атрибутами, которые вы разделите на значения в =, получая только что полученные значенияхранится мгновение назад (или обрабатывается как что-то вроде '0E0', когда они не имеют значения - таким образом, сохраняя их истинными, но фактически бесполезными)
Однако, если это рукописный код, вы можете столкнуться с некоторымикошмары, потому что многие люди не согласны с использованием кавычек в атрибутах, если они вообще их используют.