Можно ли условно заменить части строк в MySQL?
Введение в проблему: пользователи в моей базе данных хранят статьи (таблица с именем "таблица", столбец "значение", каждая строка = одна статья)с неправильными ссылками на изображения.Я бы хотел починить их все сразу.Для этого мне нужно заменить все адреса в ссылках «href», за которыми следуют изображения, т. Е. <a href="link1"><img src="link2"></a>
следует заменить на <a href="link2"><img src="link2"></a>
. Моя идея состоит в том, чтобы искать каждый тег «href» и, если тегсопровождается и «img», чем я хотел бы получить «link2» из изображения и использовать его заменить «link1».Я знаю, как это сделать в bash или python, но у меня недостаточно опыта работы с MySQL.
Если быть точным, моя таблица содержит ссылки на такие изображения, как
<a href="www.a.cz/b/c"><img class="image image-thumbnail " src="www.d.cz/e/f.jpg" ...
Мне бы хотелосьзаменить первый адрес (href) ссылкой на изображение.Чтобы получить
<a href="www.d.cz/e/f.jpg"><img class="image image-thumbnail " src="www.d.cz/e/f.jpg" ...
Можно ли сделать запрос (запросы?), Например
UPDATE `table`
SET value = REPLACE(value, 'www.a.cz/b/c', 'XXX')
WHERE `value` LIKE '%www.a.cz/b/c%'
, где XXX каждый раз отличается, и его значение получается из базы данных?Более того, «www.a.cz/b/c» различается.
Чтобы усложнить задачу, не все изображения имеют ссылку «href», и не все ссылки относятся к изображениям.Возможны три варианта:
«href», затем «img» -> replace
«href», за которым не следует «img» -> сохранить исходную ссылку (возможно, ссылку на другую страницу)
"img" без "href" -> ничего не делать (неправильная ссылка для замены)
Конечно, некоторые изображения могут иметь правильную ссылку.В этом случае он также может быть заменен (исходный и новый будут одинаковыми).
Информация о базе данных от phpMyAdmin
Программное обеспечение: MariaDB
Версия программного обеспечения: 10.1.32-MariaDB - Исходный код
Версия протокола: 10
Кодировка сервера: UTF-8 Unicode (utf8)
Apache
Версия клиента базы данных:libmysql - 5.6.15
Расширение PHP: mysqli
Заранее спасибо