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


is there way to convert all inline css to external stylesheet

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

我正在寻找一种脚本在python或。net或java或任何平台,可以做这个任务。

我推荐php的DOM类

像这样使用:

       $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('*');

然后处理每个元素(或div/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
                }
            }
        }