Rumah > Artikel > pembangunan bahagian belakang > Cara menggunakan ungkapan biasa dalam PHP untuk memadankan komen HTML
Apabila membangunkan tapak web PHP, kita selalunya perlu berurusan dengan kod HTML. Komen HTML ialah cara menambah ulasan dalam kod HTML untuk memberikan maklumat tentang elemen HTML atau blok kod tersebut. Walau bagaimanapun, apabila bekerja dengan kod HTML, kadangkala kami perlu mengalih keluar ulasan daripada kod atau hanya mendapatkan kandungan ulasan. Dalam kes ini, adalah amalan biasa untuk menggunakan ungkapan biasa untuk memadankan ulasan HTML. Artikel ini menerangkan cara menggunakan ungkapan biasa untuk memadankan komen HTML dalam PHP.
Dalam kod HTML, ulasan disertakan dalam teg "c92d80ba4f8c58b59096bf58ab488294". Contohnya:
<!-- This is a comment. -->
Dalam contoh ini, teks antara teg "c92d80ba4f8c58b59096bf58ab488294" ialah kandungan ulasan.
Ulasan juga boleh bersarang dalam teg HTML lain. Contohnya:
<!-- This is a comment. -->Some text.
Dalam contoh ini, ulasan bersarang dalam teg dc6dce4a544fdca2df29d5ac0ea9906b
dan terkandung di antara teg dc6dce4a544fdca2df29d5ac0ea9906b
dan 16b28748ea4df4d9c2150843fecfba68
.
Dalam PHP, kita boleh menggunakan fungsi preg_match() untuk melaksanakan padanan ungkapan biasa. Fungsi ini menerima tiga parameter: corak ungkapan biasa, teks untuk dipadankan dan pembolehubah pilihan untuk menahan hasil padanan. Contohnya:
$pattern = '/hello/'; $text = 'hello world'; preg_match($pattern, $text, $matches); print_r($matches);
Dalam contoh ini, pembolehubah $pattern mengandungi corak ungkapan biasa untuk dipadankan. Pembolehubah $text mengandungi teks untuk dicari. Pembolehubah $matches ialah tatasusunan yang digunakan untuk menyimpan hasil padanan. Apabila fungsi preg_match() menemui padanan, tatasusunan ini akan mengandungi teks yang dipadankan. Dalam contoh ini, pembolehubah $matches akan mengandungi elemen dengan nilai "hello".
Untuk menggunakan ungkapan biasa untuk memadankan ulasan HTML, kita perlu merumuskan corak ungkapan biasa yang mengenali "< ;! --" dan "-->" tag. Ini boleh dicapai dengan menggunakan corak ungkapan biasa "/d90bd56b7ea5e64f8f139a1b87c590a1/s". Corak ini menggunakan pengubah suai "s" supaya aksara meta sepadan dengan mana-mana aksara, termasuk baris baharu. Contohnya:
$pattern = '//s'; $text = '<!-- This is a comment. -->'; preg_match($pattern, $text, $matches); print_r($matches);
Dalam contoh ini, pembolehubah $pattern mengandungi corak ungkapan biasa untuk dipadankan. Pembolehubah $text mengandungi kod HTML untuk dicari. Dalam contoh ini, kod HTML mengandungi ulasan bersarang dalam teg dc6dce4a544fdca2df29d5ac0ea9906b
. Apabila fungsi preg_match() menemui padanan, pembolehubah $matches akan mengandungi dua elemen. Elemen pertama mengandungi keseluruhan padanan, "39537ea6c0fd964510ad4a52d5176bd5". Elemen kedua mengandungi kandungan ulasan, iaitu "Ini adalah ulasan."
Jika kita perlu mendapatkan semua komen daripada kod HTML, kita boleh menggunakan fungsi preg_match_all(). Fungsi ini sangat serupa dengan fungsi preg_match(), tetapi ia mengembalikan semua padanan, bukan hanya padanan pertama. Contohnya:
$pattern = '/<!--(.*)-->/s'; $text = '<div><!-- Comment 1. --><p>some text</p><!-- Comment 2. --></div>'; preg_match_all($pattern, $text, $matches); print_r($matches);
Dalam contoh ini, pembolehubah $pattern mengandungi corak ungkapan biasa untuk dipadankan. Pembolehubah $text mengandungi kod HTML untuk dicari. Dalam contoh ini, kod HTML mengandungi dua ulasan, satu bersarang dalam teg dc6dce4a544fdca2df29d5ac0ea9906b
dan satu lagi bersarang dalam teg e388a4556c0f65e1904146cc1a846bee
. Apabila fungsi preg_match_all() menemui semua padanan, pembolehubah $matches akan mengandungi tatasusunan dua dimensi, di mana setiap subbarray mewakili padanan. Dalam contoh ini, pembolehubah $matches akan mengandungi dua subarray, setiap satu mengandungi satu elemen, kandungan dua ulasan.
Jika kami perlu mengalih keluar ulasan daripada kod HTML, kami boleh menggunakan fungsi preg_replace(). Fungsi ini sangat serupa dengan fungsi preg_match(), tetapi ia menggantikan padanan dengan teks yang ditentukan. Contohnya, untuk mengalih keluar semua ulasan daripada kod HTML, anda boleh menggunakan kod berikut:
$pattern = '/<!--(.*)-->/s'; $replacement = ''; $text = '<div><!-- Comment 1. --><p>some text</p><!-- Comment 2. --></div>'; $new_text = preg_replace($pattern, $replacement, $text); echo $new_text;
Dalam contoh ini, pembolehubah $pattern mengandungi corak ungkapan biasa untuk dipadankan. Pembolehubah $replacement mengandungi teks untuk menggantikan padanan dengan, iaitu rentetan kosong. Pembolehubah $text mengandungi kod HTML untuk dicari. Apabila fungsi preg_replace() menemui padanan, ia menggantikan padanan dengan rentetan kosong. Dalam contoh ini, pembolehubah $new_text akan mengandungi kod HTML baharu tanpa ulasan.
Ringkasan
Menggunakan ungkapan biasa dalam PHP untuk memadankan ulasan HTML adalah amalan biasa. Kita boleh menggunakan fungsi preg_match() untuk mendapatkan satu ulasan, fungsi preg_match_all() untuk mendapatkan semua ulasan dalam HTML, dan fungsi preg_replace() untuk mengalih keluar semua ulasan. Apabila menulis corak ungkapan biasa, ketahui bahawa teks antara teg "c92d80ba4f8c58b59096bf58ab488294" mungkin mengandungi sebarang aksara, termasuk baris baharu.
Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa dalam PHP untuk memadankan komen HTML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!