maxim_tsyplenkov
@maxim_tsyplenkov

Как удалить в базе данных MYSQL все между двумя тегами?

Здравствуйте.
Есть сайт на wordpress на котором много постов содержащих
<nav>много разного текста включая разные html теги</nav>.


Подскажите как удалить собственно этот разный текст между тегами: <nav></nav> либо через sql запрос либо через плагин?
  • Вопрос задан
  • 301 просмотр
Решения вопроса 2
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
Ну примерно так:
update test 
set html = replace(
  	html,
	substr(
	  html, 
	  locate('<nav>', html, 1) + 5,
	  locate('</nav>', html, locate('<nav>', html, 1))-locate('<nav>', html, 1) - 5
	), '');


Пример SQL
Ответ написан
@Akina
Сетевой и системный админ, SQL-программист.
SELECT html, REGEXP_REPLACE(html, '<nav>[^<]*</nav>', '')
FROM test;

fiddle
Ну и соответственно
UPDATE test
SET html = REGEXP_REPLACE(html, '<nav>[^<]*</nav>', '');
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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