我必须清理一些HTML代码以删除<body>
标记中的<style>
和<link>
标记。 我已经使用PHP Tidy做一些清理,但我没有找到如何使用PHP Tidy去除这些标签。Php Tidy:删除身体内部的链接和样式标记
您有解决方案吗?或者,也许另一种标记清洁PHP类...
我必须清理一些HTML代码以删除<body>
标记中的<style>
和<link>
标记。 我已经使用PHP Tidy做一些清理,但我没有找到如何使用PHP Tidy去除这些标签。Php Tidy:删除身体内部的链接和样式标记
您有解决方案吗?或者,也许另一种标记清洁PHP类...
不知道怎么做,与整洁,但你可以使用DOM
$dom = new DOMDocument; // init new DOMDocument
$dom->loadHTML($html); // load HTML into it
$xpath = new DOMXPath($dom); // create a new XPath
$nodes = $xpath->query('//body/style'); // Find all style elements in body tag
foreach($nodes as $node) { // Iterate over found elements
$node->parentNode->removeChild($node); // Remove complete style node
}
echo $dom->saveHTML(); // output cleaned HTML
对于<link>
元素,调整XPath来//body/link
。
整齐另一种方法是http://htmlpurifier.org/
HTML净化器是一个用PHP 符合标准的HTML 过滤库。它还将确保您的文档符合标准 ,只有通过W3C的全面知识才能实现这些内容.HTML Purifier不仅可以删除所有恶意的 代码(更好的称为XSS),而且还可以确保您的文档符合标准,只能通过 获得全面的知识。规格。
提出这一额外的答案,因为它是如此完全无关的DOM的解决方案。
确实,我会看看HTML Purifier,它似乎是一个更有效的解决方案。 – Franck 2010-06-16 14:29:47
不错。我以前没有考虑过这个。 – CaseySoftware 2010-06-16 13:13:26
谢谢。那就是诀窍。 – Franck 2010-06-16 14:29:00