Недавно я попытался импортировать несколько сообщений из старого блога (SharePoint) в мой текущий блог (WordPress). Когда импорт завершился, множество неприятных тегов <div>
и другого HTML попало в содержание поста, что испортило способ рендеринга моего сайта.
Я могу просмотреть поврежденные строки в базе данных MySQL и хочу узнать, есть ли способ выборочного удаления текста HTML, который может вызывать проблемы. Я мог бы, вероятно, взломать это в C # с помощью Разбор текста, но я хотел бы выяснить, как я могу сделать это, используя SQL, если смогу.
Если вы хотите увидеть полный текстовый образец того, как один из этих файлов выглядит, как он существует в текстовом поле базы данных, Я загрузил полный образец файла на свой веб-сайт .
Вот что я хочу сделать:
- Удалить
<![CDATA[<div><b>Body:</b>
из начала каждого файла
Удалите метаинформацию в конце каждого файла, которая может выглядеть следующим образом:
<div><b>Category:</b> SharePoint</div>
<div><b>Published:</b> 11/12/2007 11:26 AM</div>
]]>
Удалите каждый <div>
и закрывающий тег </div>
, который может иметь атрибут класса, такой как:
<div class=ExternalClass6BE1B643F13346DF8EFC6E53ECF9043A>
Примечание. Шестнадцатеричная строка в конце ExternalClass может отличаться
Раньше я не использовал оператор Update в MySQL, и я не знаю, с чего начать выборочную замену текста в текстовом поле. Буду ли я использовать регулярное выражение из оператора SQL, чтобы помочь? Как мне выполнить оператор в отношении удаленной БД?