2015-07-26 2 views
0

Недавно я обнаружил в блоге моего кузена несколько ссылок с щелчком. Я был встревожен, потому что я сразу сказал себе, что у меня было какое-то дрянное рекламное ПО в моем браузере ... Однако я этого не сделал. Ссылки на картинку даже не работали.MariaDB: Удалить конкретную ссылку из столбца

На компьютере и связи работали. Я открыл Chrome Extensions, и там были некоторые подозрительные вещи. После удаления все ссылки перестали работать.

Я пошел в базу данных и увидел это:

enter image description here

Так, видимо, установка Wordpress не была нарушена, и это было только расширений Chrome добавление дополнительных HTML к сообщению.

Мой вопрос: Есть ли способ в SQL, я могу удалить все эти ссылки?

Идея состоит в том, чтобы найти слово DiscountMan и найти тег привязки до этого и закрыть после и удалить тег, но оставить слово на середине нетронутым.

<a class="garehbqm" title="Click to Continue &gt; by DiscountMan" href="#10518549"> lifestyle<img src="http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png" alt=""></a> 

Ссылка и тег изображения должны быть удалены, однако ничего другого внутри тега, как lifestyle (пространство перед) следует сохранить.

Примечание: можно удалить img тег с этим:

UPDATE table SET fieldname=REPLACE(fieldname,'<img src="http://cdncache-a.akamaihd.net/items/it/img/arrow-10x10.png" alt="">',''); 

Но я не знаю, как решить проблему связи.

спасибо.

ответ

1

Можете ли вы переключиться на MariaDB вместо MySQL? Он имеет встроенную систему REGEXP_REPLACE. С его помощью вы можете сделать

SELECT REGEXP_REPLACE(fieldname, "(<a .* title=\\".*DiscountMan\\"[^>]*>)([^<]*)(<img [^>]*><\/a>)", '\\2') 

См this post.

Вы можете проверить его на enter link description here

+0

Спасибо, человек! Вы качаетесь, мне пришлось сделать некоторые изменения, так как я уже удалил изображения. Вот мой заключительный оператор: 'UPDATE table SET post_content = REGEXP_REPLACE (post_content, '(] *>) ([^ <]*)(<\/a>)', '\\ 2')' , – TCB13

Смежные вопросы