Web 開発では、HTML 要素のスタイルを便利に設定できる CSS スタイル シートは不可欠な部分です。ただし、大きな CSS ファイルから特定のスタイルを抽出する必要がある場合は、PHP の正規表現関数を使用して一致させることができます。この記事では、実際に PHP 正規表現を使用して CSS スタイルと一致させる方法を紹介します。
まず、CSS スタイルの基本構造を見てみましょう:
selector { property: value; property: value; }
基本的な CSS スタイルは、セレクターと一連の属性と値のペアで構成されます。セレクターはスタイルを適用する HTML 要素を指定し、属性と値のペアは特定のスタイル設定です。 CSS では、属性と値はコロン「:」で区切られ、各属性と値のペアはセミコロン「;」で区切られます。
次に、例を使用して、PHP 正規表現を使用して CSS スタイルと一致させる方法を説明します。
次のスタイルを含む CSS ファイル (style.css) があるとします。
h1 { font-size: 24px; font-family: Arial, sans-serif; color: #333; } p { font-size: 16px; font-family: Helvetica, Arial, sans-serif; line-height: 1.4; color: #666; } .btn { display: inline-block; padding: 10px 20px; border: none; border-radius: 4px; font-size: 16px; font-weight: bold; text-transform: uppercase; background-color: #f00; color: #fff; }
次に、このファイルから「.btn」カテゴリのすべてのスタイルを抽出する必要があります。 PHP の file_get_contents 関数を使用してファイルのコンテンツ全体を読み取り、preg_match_all 関数を使用して一致させることができます。
// 读取样式文件内容 $css = file_get_contents('style.css'); // 匹配样式 $pattern = '/.btns*{([^}]+)}/'; preg_match_all($pattern, $css, $matches); // 输出匹配结果 print_r($matches[0]);
上記のコードでは、まず file_get_contents 関数を使用してスタイル ファイルの内容を読み取り、その内容を変数 $css に保存します。次に、 preg_match_all 関数を使用してスタイルを一致させます。作成される正規表現は ".btns*{(1 )}":
最後に、マッチング結果を出力します。
上記のコードを実行すると、結果は次のようになります。
Array ( [0] => .btn { display: inline-block; padding: 10px 20px; border: none; border-radius: 4px; font-size: 16px; font-weight: bold; text-transform: uppercase; background-color: #f00; color: #fff; } )
結果からわかるように、正規表現は「.btn」カテゴリのスタイルと正常に一致し、全体が返されました。スタイルブロック。
もちろん、属性と値のペアをさらに抽出することもできます。
// 读取样式文件内容 $css = file_get_contents('style.css'); // 匹配样式 $pattern = '/.btns*{([^}]+)}/'; preg_match_all($pattern, $css, $matches); // 提取属性-值对 $pattern = '/([a-z-]+)s*:s*([^;]+);/'; foreach ($matches[1] as $block) { preg_match_all($pattern, $block, $props); print_r($props); }
上記のコードでは、別の正規表現「([a-z-] )s:s(2 ) ;」を使用しています。属性と値のペアの一致:
ここでは、foreach ループを使用してすべてのスタイル ブロックを走査し、各スタイル ブロックの属性と値のペアを抽出し、結果を出力します。
上記のコードを実行すると、結果は次のようになります。
Array ( [0] => Array ( [0] => display: inline-block; [1] => padding: 10px 20px; [2] => border: none; [3] => border-radius: 4px; [4] => font-size: 16px; [5] => font-weight: bold; [6] => text-transform: uppercase; [7] => background-color: #f00; [8] => color: #fff; ) [1] => Array ( [0] => display [1] => padding [2] => border [3] => border-radius [4] => font-size [5] => font-weight [6] => text-transform [7] => background-color [8] => color ) [2] => Array ( [0] => inline-block [1] => 10px 20px [2] => none [3] => 4px [4] => 16px [5] => bold [6] => uppercase [7] => #f00 [8] => #fff ) )
結果からわかるように、「.btn」カテゴリのスタイルで属性と値のペアを正常に抽出できました。属性名と属性値は、それぞれ $props 配列の最初と 2 番目の要素に格納されます。
上記の例を通じて、PHP 正規表現を使用して CSS スタイルと一致させる方法を学習しました。正規表現の作成方法、スタイル マッチングと属性抽出の実行方法の基本的なスキルは全員が習得したと思います。実際の開発では、さまざまなスタイル処理のニーズを満たすために、必要に応じてより複雑な照合および抽出操作を実行することもできます。
以上がPHP 正規表現戦闘: CSS スタイルのマッチングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。