PHP を使用して CSS ファイルから「postclass」を含むクラス名を抽出するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-26 04:18:27
オリジナル
895 人が閲覧しました

How Can I Extract Class Names Containing

PHP を使用した CSS ファイルの解析: プログラムによるアプローチ

高度な CSS 操作には、プログラミングによる CSS ファイルの解析が不可欠です。 PHP は CSS 解析用の堅牢なツールセットを提供しており、この記事では、特定の部分文字列を含むクラス名を抽出するための具体的な手法について詳しく説明します。

問題:

CSS が与えられた場合ファイルに複数のクラス宣言が含まれている場合、目的は、名前に「postclass」を含むクラス名の配列を取得することです。

解決策:

PHP の preg_match_all()関数は文字列内の正規表現を解析できます。このタスクを実行するカスタマイズされた正規表現は次のとおりです。

<code class="php">/(#[a-z0-9]*?\ .?postclass.*?)\s?\{/g</code>
ログイン後にコピー

この正規表現は、ハッシュ (#) で始まり、その後に英数字、ドット (.)、部分文字列の任意の組み合わせが続く任意の CSS 宣言をキャプチャします。 「授業後」。空白と中括弧は、ルール セットの開始を示します。

コード:

<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]);
        $selectors = explode(',', trim($selector));
        foreach ($selectors as $strSel) {
            if (strpos($strSel, 'postclass') !== false) {
                $result[] = $strSel;
            }
        }
    }
    return $result;
}</code>
ログイン後にコピー

使用法:

<code class="php">$arrayClasses = parse('cssfile.css');
print_r($arrayClasses); // Outputs: ['#content.postclass-subcontent', '#content2.postclass-subcontent2']</code>
ログイン後にコピー

このアプローチを利用すると、開発者はパターンに基づいて CSS ファイルから特定のクラス名を抽出でき、PHP スクリプト内でカスタマイズ可能な CSS 操作が可能になります。

以上がPHP を使用して CSS ファイルから「postclass」を含むクラス名を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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