How do i extract all CSS from a webpage?

Get all css from web page

How can I retrieve all CSS from a webpage URL using PHP?

I have a webpage URL or HTML file, and I want to extract all the external CSS from that webpage. Is it possible with PHP?

Yes, it is possible to extract external CSS from a webpage using PHP. You can achieve this by parsing the HTML content of the webpage and extracting the <link> tags that reference external CSS files. Then you can retrieve the content of those CSS files and store or manipulate them as needed. Here's a basic example of how you can do this:

<?php
$url = 'https://blog.buggerspot.com/';
$parsed_url = parse_url($url);

if(isset($parsed_url['scheme']) && isset($parsed_url['host'])) {
    $dom = new DOMDocument();
    $html = file_get_contents($url);
    @$dom->loadHTML($html);
    $links = $dom->getElementsByTagName('link');
    $domainUrl = $parsed_url['scheme'] . '://' . $parsed_url['host'];
    $cssLinks = array();

    foreach ($links as $link) {
        if ($link->getAttribute('rel') == 'stylesheet') {
            $externalCss = $link->getAttribute('href');
            $css_parsed_url = parse_url($externalCss);
            if (!isset($css_parsed_url['host'])) {
                $externalCss = "$domainUrl/$externalCss"; //add abs
            }
            $cssLinks[] = $externalCss;
        }
    }
    $css = "";
    foreach ($cssLinks as $cssLink) {
        $css .= file_get_contents($cssLink);
    }
    echo $css;
}
else {
    echo "Please enter a valid website URL, such as: https://blog.buggerspot.com/";
}
This code retrieves the HTML content of the webpage, parses it using DOMDocument, and then iterates through all <link> tags with the rel="stylesheet" attribute. It checks if the href attribute of each <link> tag (indicating an external CSS file), retrieves the content of those CSS files, and stores them in an array. Finally, it outputs the content of each external CSS file.

Thank You!