2016-04-25 17 views
0

私は正常にURLを解析し、必要なだけp、img、およびタグをvar $ contentに返すhtmlスクレーパーを構築しています。PHPでhtmlタグで囲まれていないコンテンツ/テキストを削除します。

はしかし、特定のURLはHTMLで誤っJavaScriptを配置してしまうので、私の$コンテンツvarが含まれています。私はがHTMLに包まれていない任意のコンテンツを削除するにはどうすればよい

<p>This is Paragraph 1</p> 
<p>This is Paragraph 2</p> 
<img src="/Path/To/Img"> 
";document.getElementById('Rogue Broken Javascript Text.14155741') 
<p>This is Paragraph 3</p> 

タグ? (。すなわちstrip_tags()の逆の一種)ので、私はちょうどで終わる:

<p>This is Paragraph 1</p> 
<p>This is Paragraph 2</p> 
<img src="/Path/To/Img"> 
<p>This is Paragraph 3</p> 
+0

あなたはこれまでのコードを少なくとも表示できますか? DOMを解析するために正規表現を使用していますか? –

+0

私は正規表現を使用していません。 var $ contentには、引用符で囲まれたHTMLが含まれます。 ** htmlタグで**ない**が削除されるように、それをサニタイズしたい。 – JS77

答えて

0

ではありませんあなたの解析方法では、単にエラーですか?私は単に<p></p><a>、および</a>タグを検索し、それらの間のすべてを削り取っています。 imgタグの場合は、<imgと次の>の間のものだけを削ります。

上記の例が実際の出力である場合は、>で停止していない<img>の解析に間違いがあると言います。

もちろん、間違って書かれたHTMLも考慮する必要があります。どのように扱うかは、細部を知ることがどれほど重要か、悪いコードをスキップすることができるかどうかなど、物事に依存します。

関連する問題