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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!