src/Readability.php
public function _cleanStyles($node)
    {
        if (property_exists($node, 'tagName') && $node->tagName === 'svg') {
            return;
        }

        // Do not bother if there's no method to remove an attribute
        if (method_exists($node, 'removeAttribute')) {
            $presentational_attributes = ['align', 'background', 'bgcolor', 'border', 'cellpadding', 'cellspacing', 'frame', 'hspace', 'rules', 'style', 'valign', 'vspace'];
            // Remove `style` and deprecated presentational attributes
            foreach ($presentational_attributes as $presentational_attribute) {
                $node->removeAttribute($presentational_attribute);
            }

            $deprecated_size_attribute_elems = ['table', 'th', 'td', 'hr', 'pre'];
            if (property_exists($node, 'tagName') && in_array($node->tagName, $deprecated_size_attribute_elems)) {
                $node->removeAttribute('width');
                $node->removeAttribute('height');
            }
        }

        $cur = $node->firstChild;
        while ($cur !== null) {
            $this->_cleanStyles($cur);
            $cur = $cur->nextSibling;
        }
    }
public function _cleanStyles($node)
    {
        if (property_exists($node, 'tagName') && $node->tagName === 'svg') {
            return;
        }

        // Do not bother if there's no method to remove an attribute
        if (method_exists($node, 'removeAttribute')) {
            $presentational_attributes = ['align', 'background', 'bgcolor', 'border', 'cellpadding', 'cellspacing', 'frame', 'hspace', 'rules', 'style', 'valign', 'vspace'];
            // Remove `style` and deprecated presentational attributes
            foreach ($presentational_attributes as $presentational_attribute) {
                $node->removeAttribute($presentational_attribute);
            }

            $deprecated_size_attribute_elems = ['table', 'th', 'td', 'hr', 'pre'];
            if (property_exists($node, 'tagName') && in_array($node->tagName, $deprecated_size_attribute_elems)) {
                $node->removeAttribute('width');
                $node->removeAttribute('height');
            }
        }

        $cur = $node->firstChild;
        while ($cur !== null) {
            $this->_cleanStyles($cur);
            $cur = $cur->nextSibling;
        }
    }
public function _cleanStyles ( $ node ) { if ( property_exists ( $ node , 'tagName' ) && $ node -> tagName === 'svg' ) { return ; } // Do not bother if there's no method to remove an attribute if ( method_exists ( $ node , 'removeAttribute' ) ) { $ presentational_attributes = [ 'align' , 'background' , 'bgcolor' , 'border' , 'cellpadding' , 'cellspacing' , 'frame' , 'hspace' , 'rules' , 'style' , 'valign' , 'vspace' ] ; // Remove `style` and deprecated presentational attributes foreach ( $ presentational_attributes as $ presentational_attribute ) { $ node -> removeAttribute ( $ presentational_attribute ) ; } $ deprecated_size_attribute_elems = [ 'table' , 'th' , 'td' , 'hr' , 'pre' ] ; if ( property_exists ( $ node , 'tagName' ) && in_array ( $ node -> tagName , $ deprecated_size_attribute_elems ) ) { $ node -> removeAttribute ( 'width' ) ; $ node -> removeAttribute ( 'height' ) ; } } $ cur = $ node -> firstChild ; while ( $ cur !== null ) { $ this -> _cleanStyles ( $ cur ) ; $ cur = $ cur -> nextSibling ; } }
Remove the style attribute on every e and under.

@param $node DOMDocument|DOMNode
Remove the style attribute on every e and under .