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(":", $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 サイトの他の関連記事を参照してください。