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

У меня есть эта строка, которая должна быть удалена из содержимого моего сайта WordPress. Я хочу, чтобы он тоже был удален из базы данных. Либо через Phpmyadmin, либо через плагин. Плагины не принимают подстановочные знаки или регулярные выражения. Строка начинается с <li class="dZip"> и заканчивается Download ZIP</a></li> и содержит буквенно-цифровые и специальные символы между ними. Мне нравится удалять их все. Я пробовал это <li class="dZip">.*Download ZIP</a></li> с помощью плагинов. Не использовать.

Всего 1 ответ


Если у вас достаточно новый MySQL или MariaDB, вы можете использовать функцию REGEXP_REPLACE() .

Регулярное выражение будет

<li class="dZip">.*?Download ZIP</a></li>

два изменения от того, что у вас было ...

  •  - это «граница слова». По определению любая сторона > является границей слова. Итак, я удалил их.
  • .* сожрал бы весь путь до последнего </li> . Если вы ожидаете несколько li, используйте .*? так что сожрет только один. Функция (либо REGEXP_REPLACE MySQL, либо REGEXP_REPLACE PHP) будет повторяться до завершения.

Есть идеи?

10000