Лучше использовать метод на основе DOM, , но если это регулярное выражение работает (это непросто для общего ввода HTML), чтобы сопоставить желаемые элементы <img>
со значением атрибута src
захваченный в \1
, затем просто замените весь матч (захваченный в \0
) на:
<a href="\1" target="_blank">\0</a>
В Java обратные ссылки в замещающей строке будут $0
и $1
; Я не уверен, какой язык вы используете, так что настройте соответственно.
Однако в Java что-то вроде этого будет работать:
String imgHrefed = str.replaceAll(
"<img src=\"([^<]*)\"[^<]*>",
"<a href=\"$1\" target=\"_blank\">$0</a>"
);
Из вашего вопроса не было ясно, что делать с другими атрибутами, которые может иметь <img>
. Приведенная выше замена сохраняет их такими, какие они есть. Если вы также хотите переписать их (т. Е. Вы больше не , а просто оборачиваете <img>
в <a>
), то, возможно, вы захотите переписать это:
<a href="\1" target="_blank"><img src="\1" width="180" height="18" /></a>