Rumah >hujung hadapan web >tutorial css >Bagaimana untuk Mengekstrak Kelas yang Mengandungi 'kelas pos' daripada Fail CSS dengan PHP?

Bagaimana untuk Mengekstrak Kelas yang Mengandungi 'kelas pos' daripada Fail CSS dengan PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-13 15:42:02531semak imbas

How to Extract Classes Containing

Menghuraikan Fail CSS dengan PHP: Ekstrak Kelas secara Selektif dengan "postclass"

Soalan:

Anda mencari kaedah untuk menghuraikan fail CSS dalam PHP dan mengekstrak setiap nama kelas yang mengandungi "kelas pos" dalam namanya. Output yang diingini ialah tatasusunan nama kelas ini.

Penyelesaian:

Menggunakan Ungkapan Biasa:

PHP berikut fungsi menyelesaikan tugas menggunakan biasa ungkapan:

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;
}

Penggunaan:

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

Fungsi ini menghuraikan fail CSS dan menyimpan nama kelas yang sepadan dalam tatasusunan $result. Ia kemudian mengembalikan tatasusunan.

Menggunakan Ajax dan jQuery:

Pendekatan alternatif menggunakan Ajax dan jQuery untuk mengambil fail CSS dan mengekstrak kelas yang diperlukan:

$(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; />');
            });
        }
    });
});

Kod ini mengambil fail CSS, mengekstrak nama kelas yang mengandungi "kelas pos" dan membungkus elemen yang sepadan dengan DIV berdasarkan kelas CSS.

Atas ialah kandungan terperinci Bagaimana untuk Mengekstrak Kelas yang Mengandungi 'kelas pos' daripada Fail CSS dengan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn