@Senseich

Как найти часть текста и заменить информацию в базе данных?

Всем привет! Ребят, кто хорошо разбирается в базах данных, помогите решить непростую задачу, если она решаема.

У меня в базе есть поля в которых находиться следующие значения, они одинаковые, только везде разные ссылки ютуба, вот пример:

<p style=\"text-align:center;\"><!--dle_media_begin:https://youtu.be/Y9uj_C0oiRU--><iframe width="612" height="344" src="https://www.youtube.com/embed/Y9uj_C0oiRU?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe><!--dle_media_end--></p>


Мне необходимо достать ссылку ютуба либо от сюда
<!--dle_media_begin:https://youtu.be/Y9uj_C0oiRU-->

либо из src=""

И заменить следующим -
<p>[playerjs file:\"https://youtu.be/Y9uj_C0oiRU\"]</p>

Соответственно, подставить ссылку с ютуба, которая была.

Есть ли такая возможность и как это сделать?
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Не благодарите:
UPDATE tbl 
SET link = CONCAT(
  '<p>[playerjs file:\"', 
  MID(LEFT(link, LOCATE('?', link, LOCATE('src="', link))-1), LOCATE('src="', link)+5),
  '\"]</p>'
);


выполнить SQL запрос
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
BojackHorseman
@BojackHorseman Куратор тега MySQL
...в творческом отпуске...
мускул с 8.0 умеет регулярные выражения.
если содержимое строки шаблонное, то можно и нужно обойтись обычными строковыми функциями
Ответ написан
Ваш ответ на вопрос

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

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