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
Lepaskan: 2024-11-13 15:42:02
asal
527 orang telah melayarinya

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;
}
Salin selepas log masuk

Penggunaan:

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

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; />');
            });
        }
    });
});
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan