Заменить любую строку, заканчивающуюся на% - PullRequest
0 голосов
/ 03 апреля 2019

Я использую MYSQL v.5.6 с Phpmyadmin 4.7.3, и один из моих сайтов был взломан, и я хотел бы удалить внедренный текст в моих статьях (post_content).

Шаблон выглядит следующим образом:

<script type="text/javascript">SOME NASTY CODE</script>
<p id="alreadyXXXX"> SOME NASTY TEXT </p>
<p><script type="text/javascript">SOME NASTY CODE</script></p>

где знаки X показывают случайные числа

Я пробовал сотни различных синтаксисов, таких как

UPDATE wp_posts SET post_content = REPLACE ( post_content, '<script%>%</script>', '' );

или

UPDATE wp_posts SET post_content = REPLACE ( post_content, '<p id="already%>%</p>', '' );

, ноЯ не могу понять, какой должен быть точный синтаксис

Я хотел бы удалить все эти неприятные элементы из моих статей (script и p).Большое спасибо за вашу помощь!

1 Ответ

0 голосов
/ 04 апреля 2019

Вы можете использовать следующий запрос для извлечения части до и после тегов скрипта. Это запрос SELECT, который позволяет проверить результаты ... он не обновляет данные:

SELECT post_content, CONCAT(
    SUBSTRING_INDEX(post_content, '<script ', 1),
    SUBSTRING_INDEX(post_content, '</script></p>', -1)
)
FROM wp_posts
WHERE post_content LIKE '%<script %</script></p>%' -- process bad rows only
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...