MYSQL удалить атрибуты <font>tags и style = "" - PullRequest
1 голос
/ 23 ноября 2011

Я занимаюсь редизайном веб-сайта, на котором есть несколько тегов в содержимом, вставленном из Word. Я хотел бы избавиться от каждого экземпляра тега шрифта.

Я также хотел бы избавиться от всего встроенного стиля, обычно вставляемого с

<span style="font-family:Verdana, etc.;">...</span>

Я хочу сохранить все теги a, em, br, strong, поэтому я не хочу удалять все теги, только те, которые влияют на стилизацию содержимого.

Все это содержимое находится в базе данных MySQL, и решение MySQL предпочтительнее, чем решение PHP, но на этом я остановлюсь.

Ответы [ 2 ]

1 голос
/ 17 января 2012

Возможно, это не лучшее решение проблемы, но вот что я делаю. Я пробовал несколько разных сценариев, чтобы получить информацию из базы данных, очистить ее и отправить обратно с помощью PHP, но на самом деле ничего не получалось так хорошо. Все, что я использовал, испортило данные, больше чем помогло. GIGO.

Я решил использовать javascript (jQuery), чтобы убрать все атрибуты из тегов и очистить атрибут стиля всех тегов и . Все выглядит хорошо после этого. Весь будущий контент будет правильно поступать в систему, но у всего старого контента есть ужасный код, все еще находящийся в базе данных, который достаточно очищен для отображения прямо на стороне клиента.

0 голосов
/ 23 ноября 2011

Нельзя анализировать HTML с RegExp, а MySQL предназначен для хранения и извлечения данных, а не для их фильтрации.

Просто используйте http://htmlpurifier.org/ для очистки HTML в PHP.

...