@Magi

Как правильно заменить ссылку запросом в mysql?

Подскажите пожалуйста, как правильно составить запрос. Нужно удалить ссылку из title.

UPDATE `content` SET `title` = REPLACE( `title`, '<a href="telnet://*">', '' ) ;


Вместо * разные IP адреса.
  • Вопрос задан
  • 232 просмотра
Пригласить эксперта
Ответы на вопрос 4
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
UPDATE `content` SET `title` = REPLACE( `title`, 'old_ip', '' );
Ответ написан
UPDATE `content` 
SET 
  `title` = REPLACE(`title`, CONCAT('<a href="">', `field`, '</a>'),  '' );
Ответ написан
Комментировать
@Magi Автор вопроса
Наверное я не совсем правильно сформулировал. В поле title внутри текста есть ссылки вида <a href="telnet://192.168.1.1"> (ip разные) нужно убрать их полностью, не удаляя другой текст. Закрывающий </a> уберу другим запросом.
Ответ написан
Комментировать
@repeat
Не лучший вариант.
SELECT CONCAT(SUBSTRING_INDEX(withLink,'<', 1), REPLACE(SUBSTRING_INDEX(withLink,'>', -2),'</a>','')) as withoutLink FROM ...

-- for testing
SELECT 'something <a href="telnet://192.168.1.1">some text</a> dasdsdgdfg' as withLink, (SELECT CONCAT(SUBSTRING_INDEX(withLink,'<', 1), REPLACE(SUBSTRING_INDEX(withLink,'>', -2),'</a>',''))) as withoutLink
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы