如何从具有特定类的div中删除样式标记

时间:2012-08-24 07:30:15

标签: php xpath domdocument

我如何(使用PHP)从具有特定类的DIVS中删除样式属性? 由于“拖放”过程,一些DIV元素会被不必要的样式污染,这可能会导致以后出现问题。

我知道我可以在“拖放”过程之后使用JavaScript删除样式属性,但我只在服务器处理HTML时将其删除(用于将HTML作为电子邮件发送)。

1 个答案:

答案 0 :(得分:1)

据我所知,这不是一个特别困难的问题。您需要将HTML加载到DOMDocument结构中,然后使用简单的XPath属性选择器来查找相关元素,并使用DOMElement::removeAttribute来删除样式属性。您的代码可能如下所示:

$dom = new DOMDocument;
$dom->loadHTML($dirtyHtml);

$xpath = new DOMXPath($dom);

$divs = $xpath->query('//div[@class="someclass"]');

foreach ($divs as $div) {
    $div->removeAttribute('style');
}

$cleanHtml = $dom->saveHTML();