PHP を使用して CSS ファイルから特定の情報を抽出するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-28 06:44:01
オリジナル
565 人が閲覧しました

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

PHP を使用した CSS ファイルの解析

CSS ファイルを操作する場合、特定の情報を解析して抽出できる機能があると便利です。特定の文字列を含むクラス名など。これを PHP で実現するために、プログラミング フォーラムのユーザーが次のようなソリューションを考案しました。

解決策:

この解決策には、「parse( )」は CSS ファイルを引数として受け取ります。この関数は、正規表現を使用してファイル内のすべての CSS ルールと照合し、セレクターとルールを配列に抽出します。結果は、各キーがセレクター (例: "#content") であり、対応する値がそのセレクターのルールの配列である連想配列になります。

コード実装:

<br>function parse($file){</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート