ホームページ  >  記事  >  ウェブフロントエンド  >  PHP を使用して CSS ファイルから「postclass」を含むクラスを抽出する方法

PHP を使用して CSS ファイルから「postclass」を含むクラスを抽出する方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-13 15:42:02491ブラウズ

How to Extract Classes Containing

PHP で CSS ファイルを解析する: 「postclass」でクラスを選択的に抽出する

質問:

メソッドを探していますPHP で CSS ファイルを解析し、名前に「postclass」を含む各クラス名を抽出します。必要な出力は、これらのクラス名の配列です。

解決策:

正規表現の使用:

次の 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]);
        if (strpos($selector, 'postclass') !== false) {
            $result[] = $selector;
        }
    }
    return $result;
}

使用法:

$css = parse('css/'.$user['blog'].'.php');
print_r($css); // Output: ["#content.postclass-subcontent", "#content2.postclass-subcontent2"]

この関数は CSS ファイルを解析し、一致するクラス名を $result 配列に保存します。次に、配列を返します。

Ajax と jQuery の使用:

別のアプローチでは、Ajax と jQuery を使用して CSS ファイルをフェッチし、必要なクラスを抽出します。

$(function () {
    $.get('main.css', function (data) {
        data = data.match(/(#[a-z0-9]*?\ .?postclass.*?)\s?\{/g);
        if (data) {
            $.each(data, function (index, value) {
                value = value.substring(0, value.length - 2);
                $(value.split(' .')[0]).wrapInner('<div class=&quot;' + value.split('.')[1] + '&quot; />');
            });
        }
    });
});

このコードは CSS ファイルをフェッチし、「postclass」を含むクラス名を抽出してラップします。 CSS クラスに基づいて要素を DIV と照合します。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。