RegEx для удаления всех спам-ссылок в <div>Единственный идентификатор - переполнение: скрыто - PullRequest
0 голосов
/ 19 января 2019

Я только что обнаружил около тысячи сообщений на нашем сайте со скрытыми ссылками. Все они содержатся в div стилях, подобных этому:

<div style='width:10px;height:13px;overflow:hidden'>
<div style='overflow:hidden;width:7px;height:13px'>

Ширина и высота различны, единственным идентификатором является переполнение: скрыто

Вот один пример

<div style='width:10px;height:13px;overflow:hidden'>
<p>BRANDO CHANGED WILL IN LAST DAYS.(News)</p>
<p>The Mirror (London, England) July 8, 2004 Byline: IAN MARKHAM-SMITH HOLLYWOOD legend Marlon Brando changed his will days before his death, it emerged last night.</p>
<p>Movie mogul Mike Medavoy revealed that before the eccentric 80-year-old succumbed to illness on Friday, he summoned lawyers and some friends to make significant changes to his estate. <a href="http://lastnightmovienow.net">lastnightmovienow.net last night movie</a></p>
</div>

Как мне создать RegEx, который находит каждый день со стилем, который содержит переполнение: скрытый, затем любой символ, набор символов и т. Д. Вплоть до заключительного div.

Я попробовал это, но не сработало

<div style='.*overflow:hidden'>(.*)</div>

Я думаю, это из-за того, что не удалось избежать нормального HTML.

Я Регби Нуб.

Спасибо Олли

1 Ответ

0 голосов
/ 20 января 2019

Спасибо, приятель, очень подробный ответ:)

Как ты говоришь, он отрывочный, работал над одними постами, а не над другими.

Мы решили это, добавив это в файл functions.php, чтобы убрать все проблемные деления на стороне сервера.

RegEx был неверным подходом.

function my_the_content_filter( $content ) {

    $content = preg_replace("#<div[^>]*overflow:hidden[^>]*>.*?</div>#is", "", $content);
    return $content;
}

add_filter( 'the_content', 'my_the_content_filter');

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...