Ejemplo n.º 1
0
 public static function get_style_internal($content_dom)
 {
     //MB
     //$dom=str_get_dom($content);
     $dom = $content_dom;
     //echo("<p> contenuto di style: </p>");
     // change the URL of the site to be validated in order to set add the address of a relative css
     //modifico l'url del sito da validare in modo da porterci aggiungere l'indirizzo di un css relativo
     global $uri;
     $uri2 = BasicChecks::getSiteUri($uri);
     $vettore_stili_interni = $dom->find('style');
     $cssint = "";
     foreach ($vettore_stili_interni as $one) {
         if (!isset($one->attr["media"]) || $one->attr["media"] == "all" || $one->attr["media"] == "screen") {
             $cssint = $cssint . $one->innertext;
             $cssint = trim($cssint);
             while (substr($cssint, 0, 7) == "@import") {
                 $import = substr($cssint, 7, stripos($cssint, ";") + 1);
                 $cssint = str_ireplace($import, "", $cssint);
                 $indirizzo = substr($import, stripos($import, '(') + 1, stripos($import, ')') - stripos($import, '(') - 1);
                 $indirizzo = str_ireplace('"', '', $indirizzo);
                 if (stripos($indirizzo, "http://") === false) {
                     if (substr($indirizzo, 0, 1) == "/") {
                         $indirizzo = $uri2 . $indirizzo;
                     } else {
                         $indirizzo = $uri2 . "/" . $indirizzo;
                     }
                 }
                 $cssint = @file_get_contents($indirizzo) . "\n" . $cssint;
                 //echo($indirizzo);
             }
         }
     }
     return $cssint;
 }