Опрятный Php: удалите теги link и теги style в теле

Я должен очистка некоторый HTML-код для удаления <style> и <link> теги в <body> тег. Я уже использую PHP, Опрятный, чтобы сделать некоторую очистку, но я не сделал найденный, как удалить те теги с Опрятным PHP.

У Вас есть решение? Или возможно другой инструмент для очистки разметки класс PHP...

1
задан Franck 16 June 2010 в 12:46
поделиться

2 ответа

Дон Не знаю, как это сделать с Tidy, но вы можете использовать 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

. Для элементов настройте Xpath на // body / link .

2
ответ дан 2 September 2019 в 23:44
поделиться

Альтернативой Tidy может стать http://htmlpurifier.org/

HTML Purifier - это отвечающая стандартам Библиотека фильтров HTML, написанная на PHP. HTML Purifier не только удалит весь вредоносный код (более известный как XSS) с помощью тщательно проверенного, безопасным, но разрешительным белым списком, он также обеспечит соответствие ваших документов соответствие стандартам, что достижимо только при наличии всестороннего знания спецификаций W3C.


Сделал этот ответ дополнительным, поскольку он совершенно не связан с решением DOM.

0
ответ дан 2 September 2019 в 23:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: