如何使用 PHP 從 CSS 檔案中提取包含「postclass」的類別名稱?

Linda Hamilton
發布: 2024-10-29 21:40:02
原創
746 人瀏覽過

How to Extract Class Names Containing

利用PHP解析CSS文件

問題:如何使用PHP有效解析CSS文件,特別是提取包含「postclass」的類別名稱" ?

在CSS 中:

#stuff {
    background-color: red;
}

#content.postclass-subcontent {
    background-color: red;
}

#content2.postclass-subcontent2 {
    background-color: red;
}
登入後複製

所需的PHP 輸出:

arrayentry1:
#content.postclass-subcontent
arrayentry2:
#content2.postclass-subcontent2
登入後複製

答案:

<code class="php">function parse($file){
    $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;
}</code>
登入後複製

然後您可以如下使用它:

<code class="php">$css = parse('css/'.$user['blog'].'.php');
$css['#selector']['color'];</code>
登入後複製

以上是如何使用 PHP 從 CSS 檔案中提取包含「postclass」的類別名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!