在PHP中删除未包含在html标记中的内容/文本

时间:2016-04-25 11:48:20

标签: php html

我正在构建一个html scraper,它成功地解析了一个url,并根据需要返回了p,img和一个标签给var $ content。

但是,某些URL最终会在html中放置错误的javascript,因此我的$ content var包含:

<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>

如何删除HTML标记中包含的 的所有内容? (即。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>

1 个答案:

答案 0 :(得分:0)

解析方法不仅仅是一个错误吗?我只想搜索<p></p><a></a>标记,在它们之间抓取所有内容。然后,对于img标记,您只需抓取<img和下一个>之间的内容。

如果你上面的例子是实际输出,那么我会说你的<img>解析中有一个错误,它没有停在>

当然,您还必须考虑写得不好的HTML。你如何处理它将取决于获取每个细节的重要性,或者你是否可以跳过错误的代码。