Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengekstrak Nama Kelas yang Mengandungi \'postclass\' daripada Fail CSS Menggunakan PHP?
Menghuraikan Fail CSS dengan PHP: Pendekatan Programatik
Untuk manipulasi CSS lanjutan, menghuraikannya dengan pengaturcaraan adalah penting. PHP menawarkan set alat yang mantap untuk penghuraian CSS dan artikel ini mengupas teknik khusus untuk mengekstrak nama kelas yang mengandungi subrentetan tertentu.
Masalahnya:
Diberikan CSS fail dengan berbilang pengisytiharan kelas, matlamatnya adalah untuk mendapatkan semula tatasusunan nama kelas yang termasuk "kelas pos" dalam nama mereka.
Penyelesaian:
preg_match_all() PHP fungsi boleh menghuraikan ungkapan biasa dalam rentetan. Berikut ialah ungkapan biasa tersuai yang menyelesaikan tugas ini:
<code class="php">/(#[a-z0-9]*?\ .?postclass.*?)\s?\{/g</code>
Reex ini menangkap sebarang pengisytiharan CSS bermula dengan cincang (#), diikuti dengan mana-mana gabungan aksara abjad angka, titik (.) dan subrentetan "kelas pos." Ruang putih dan kurung kurawal menandakan permulaan set peraturan.
Kod:
<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>
Penggunaan:
<code class="php">$arrayClasses = parse('cssfile.css'); print_r($arrayClasses); // Outputs: ['#content.postclass-subcontent', '#content2.postclass-subcontent2']</code>
Dengan menggunakan pendekatan ini, pembangun boleh mengekstrak nama kelas tertentu daripada fail CSS berdasarkan corak, membolehkan manipulasi CSS boleh disesuaikan dalam skrip PHP.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekstrak Nama Kelas yang Mengandungi \'postclass\' daripada Fail CSS Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!