首頁  >  文章  >  後端開發  >  如何使用 PHP 從 CSS 檔案中提取特定資訊?

如何使用 PHP 從 CSS 檔案中提取特定資訊?

Barbara Streisand
Barbara Streisand原創
2024-10-28 06:44:01565瀏覽

How can I extract specific information from CSS files using PHP?

使用PHP 解析CSS 檔案

處理CSS 檔案時,能夠解析和擷取特定資訊會很有幫助,例如包含特定字串的類別名稱。為了使用PHP 實現此目的,程式設計論壇上的使用者設計了一個解決方案,其中包括:

解決方案:

該解決方案涉及定義一個名為“parse( )”,它採用CSS 檔案作為參數。該函數使用正規表示式來匹配檔案中的所有 CSS 規則,並將選擇器和規則提取到陣列中。結果是一個關聯數組,其中每個鍵都是一個選擇器(例如“#content”),相應的值是該選擇器的規則數組。

代碼實現:

<br>函數解析($file){<pre class="brush:php;toolbar:false">$css = file_get_contents($file);
preg_match_all( '/(?ims)([a-z0-9\s\.\:#_\-@,]+)\{([^\}]*)\}/', $css, $arr);
$result = array();
foreach ($arr[0] as $i => $x){
    $selector = trim($arr[1][$i]);
    $rules = explode(';', trim($arr[2][$i]));
    $rules_arr = array();
    foreach ($rules as $strRule){
        if (!empty($strRule)){
            $rule = explode(&quot;:&quot;, $strRule);
            $rules_arr[trim($rule[0])] = trim($rule[1]);
        }
    }
    
    $selectors = explode(',', trim($selector));
    foreach ($selectors as $strSel){
        $result[$strSel] = $rules_arr;
    }
}
return $result;

}

用法範例:

要使用此函數,您可以將路徑傳遞給CSS 檔案並存取產生的關聯數組,如下所示:

<br>$css = parse( 'css/'.$user['blog'].'.php');<br>$css'#selector';<br>

透過這種方式解析CSS 文件,您可以根據您的需求輕鬆存取和操作特定的樣式規則。

以上是如何使用 PHP 從 CSS 檔案中提取特定資訊?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn