我必須清理一些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