Rumah >pembangunan bahagian belakang >tutorial php >Ungkapan biasa PHP dalam tindakan: memadankan gaya CSS
Dalam pembangunan web, helaian gaya CSS adalah bahagian yang sangat diperlukan, yang boleh menetapkan gaya untuk elemen HTML dengan mudah. Walau bagaimanapun, kadangkala kita perlu mengekstrak gaya tertentu daripada fail CSS yang besar, kemudian kita boleh menggunakan fungsi ekspresi biasa PHP untuk pemadanan. Artikel ini memperkenalkan cara menggunakan ungkapan biasa PHP untuk memadankan gaya CSS dalam amalan.
Mari kita lihat struktur asas gaya CSS:
selector { property: value; property: value; }
Gaya CSS asas terdiri daripada pemilih dan set pasangan nilai atribut. Pemilih menentukan elemen HTML yang gaya harus digunakan, dan pasangan nilai atribut ialah tetapan gaya khusus. Dalam CSS, atribut dan nilai dipisahkan oleh titik bertindih ":", dan setiap pasangan nilai atribut dipisahkan oleh koma bertitik ";".
Seterusnya, kami menggunakan contoh untuk menggambarkan cara menggunakan ungkapan biasa PHP untuk memadankan gaya CSS.
Andaikan kita mempunyai fail CSS (style.css) yang mengandungi gaya berikut:
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; }
Sekarang, kita perlu mengekstrak semua gaya kategori ".btn" daripada fail ini. Anda boleh menggunakan fungsi file_get_contents PHP untuk membaca keseluruhan kandungan fail, dan kemudian gunakan fungsi preg_match_all untuk dipadankan.
// 读取样式文件内容 $css = file_get_contents('style.css'); // 匹配样式 $pattern = '/.btns*{([^}]+)}/'; preg_match_all($pattern, $css, $matches); // 输出匹配结果 print_r($matches[0]);
Dalam kod di atas, fungsi file_get_contents mula-mula digunakan untuk membaca kandungan fail gaya dan menyimpan kandungan dalam pembolehubah $css. Kemudian, gunakan fungsi preg_match_all untuk memadankan gaya, dan ungkapan biasa yang dibina ialah ".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; } )Seperti yang dapat dilihat daripada keputusan, ungkapan biasa berjaya memadankan gaya kategori ".btn" dan mengembalikan keseluruhan blok gaya. Sudah tentu, kita juga boleh mengekstrak pasangan nilai-sifat.
// 读取样式文件内容 $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); }Dalam kod di atas, kami menggunakan ungkapan biasa lain "([a-z-]+)s
:s
(2+) ;" untuk memadankan pasangan atribut-nilai: "([a-z-]+)" sepadan dengan nama atribut, dengan "[a-z-]+" bermaksud memadankan huruf kecil dan sempang "- "Sebuah rentetan terdiri daripada ", tambah kurungan "()" menunjukkan bahawa hasil padanan disimpan dalam elemen pertama dalam tatasusunan $props; "s
:sArray ( [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 ) )Seperti yang dapat dilihat daripada keputusan, kami berjaya mengekstrak pasangan atribut-nilai dalam gaya kategori ".btn" , dan letakkan keputusan mengikut Nama atribut dan nilai atribut masing-masing disimpan dalam elemen pertama dan kedua tatasusunan $props. Melalui contoh di atas, kami telah mempelajari cara menggunakan ungkapan biasa PHP untuk memadankan gaya CSS. Saya percaya bahawa semua orang telah menguasai kemahiran asas tentang cara membina ungkapan biasa dan melakukan pemadanan gaya dan pengekstrakan atribut. Dalam pembangunan sebenar, kami juga boleh melakukan operasi pemadanan dan pengekstrakan yang lebih kompleks mengikut keperluan untuk memenuhi keperluan pemprosesan gaya yang berbeza.
Atas ialah kandungan terperinci Ungkapan biasa PHP dalam tindakan: memadankan gaya CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!