2011-01-31 11 views
0

Amazon Webサービスを使用して、さまざまなアイテムの商品説明を取得しています。問題は、Amazonのコンテンツにマークアップが含まれていることがあり、ウェブページのレイアウトに破壊的なものがあることがあります(例:未公開のDIVなど)。コンテンツをサニタイズする:Amazonのコンテンツからマークアップを削除する

Amazonから入手したコンテンツをサニタイズしたい。私の解決策は、(これまでのところ、私の最初のリスト)次の操作を実行するために、次のようになります。

  • はなどdivspan、等の不要なタグを削除し、すべての削除など、pulolよう
  • をタグを維持しながら、すべてのタグから属性を
  • 余分な空白を削除する(例えば複数のスペース、改行、改行、タブなど)
  • (タグの一部で style属性が存在しているように思える例)

私のソリューションを構築しようとする前に、誰かがより良いアイデア(または既存のソリューション)を持っているのだろうかと思います。ありがとう。それは最高のアイデアだかどうかは

+0

正規表現で行う必要がありますか?おそらく、HTMLを解析するには悪いツールです。 –

+0

いいえ、そうではありません。私はRegExでいくつかのことが行われると考えていました(例えば、空白など)。私はDOMにマークを入れて、マークアップのスニペットを操作するためにXPathなどを使用しようとするかもしれません。 – StackOverflowNewbie

答えて

1

余分な空白を削除します。

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

HTML要素から属性を削除します。

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

を特定の要素の削除:

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

関連する問題