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

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

1 Ответ

0 голосов
/ 10 февраля 2020

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

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

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

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

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