Дезинфекция контента: удаление разметки из контента Amazon - PullRequest
0 голосов
/ 31 января 2011

Я использую Amazon Web Service для получения описаний продуктов различных товаров. Проблема состоит в том, что контент Amazon содержит разметку, которая иногда губительна для макета моей веб-страницы (например, незакрытые DIV и т. Д.).

Я хочу очистить контент, который я получаю от Amazon. Мое решение было бы сделать следующее (мой первоначальный список до сих пор):

  • Удалите ненужные теги, такие как div, span и т. Д., Оставив такие теги, как p, ul, ol и т. Д.
  • Удалить все атрибуты из всех тегов (например, кажется, что в некоторых тегах style атрибуты)
  • Удалить лишние пробелы (например, несколько пробелов, возврат каретки, новые строки, табуляции и т. Д.)
  • 1018 * Etc. *

Прежде чем я попытаюсь создать свое решение, мне интересно, есть ли у кого идея получше (или уже существующее решение). Спасибо.

1 Ответ

1 голос
/ 13 февраля 2011

Лучшая идея или нет:

Удалить лишние пробелы:

preg_replace('/\s+/', ' ', trim($v))

Удалить атрибуты из элементов HTML:

preg_replace('/<([^\s>]+) [^>]+>/', '<$1>', $v)

Удалить определенные элементы:

preg_replace('/<\/?(div|span)[^>]*>/', '', $v)

...