有没有办法将所有内联css转换为外部样式表

时间:2016-10-24 19:30:18

标签: php css

我有大约数百个带有内联css的php文件。我想自动将所有这些内联css转换为外部样式表。是否有任何可用的脚本,如果没有类和id,则可以分配类或id,并将内联样式写入css文件。已经尝试过cssout.com网站,但它在PHP代码中生成错误。

我正在寻找python或.net或java或任何可以执行此任务的平台的脚本。

1 个答案:

答案 0 :(得分:1)

我会推荐php的DOM class

像这样使用:

       $html ='your inline html'; 
       $dom = new DOMDocument;
       @$dom->loadHTML($html);

       $only_divs = $dom->getElementsByTagName('div');
       $only_paragraphs = $dom->getElementsByTagName('p');

       //or every element
       $all_elements = $dom->getElementsByTagName('*');

然后处理每个元素(或仅divs / p)

        foreach ($all_elements as $element){
            if ( !empty( $style = $element->getAttribute('style')) ){
                //style in this element is not empty, try to get class

                if ( !empty( $class = $element->getAttribute('class')) ){
                   // this element already have class
                   // do something
                }

                if ( !empty( $id = $element->getAttribute('id')) ){
                   // this element have id
                   // do something 
                }

                if ( empty($id) && empty($class) ){
                    //this element have neither
                    // do something
                }
            }
        }