Cara memadankan nilai atribut tag HTML menggunakan ungkapan biasa dalam PHP

WBOY
Lepaskan: 2023-06-24 12:38:01
asal
1671 orang telah melayarinya
<p>Dengan pembangunan Internet, HTML, sebagai bahasa standard untuk halaman web, memainkan peranan yang sangat penting dalam pembangunan Web. Dalam pengeluaran halaman web, selalunya perlu untuk memadankan dan mengubah suai atribut tag HTML. Ekspresi biasa adalah salah satu alat yang boleh menyelesaikan masalah ini. Dalam artikel ini, kami akan menerangkan cara memadankan nilai atribut tag HTML menggunakan ungkapan biasa dalam PHP. </p> <p>1. Sintaks asas ungkapan biasa </p> <p>Dalam ungkapan biasa, setiap aksara boleh mewakili sintaks. Berikut ialah beberapa aksara asas dan maknanya: </p> <ol> <li>^: Kedudukan permulaan baris </li> <li>$: Kedudukan akhir baris </li> <li>.: Padanan kecuali aksara baris baharu Mana-mana aksara kecuali </li> <li>*: memadankan aksara sebelumnya 0 hingga beberapa kali </li> <li>+: memadankan aksara sebelumnya 1 hingga beberapa kali </li> <li>?: sepadan dengan aksara sebelumnya 0 atau 1 masa </li> <li>[]: set aksara, memadankan mana-mana aksara dalam kurungan </li> <li>|: ATAU operator, memadankan mana-mana aksara pada kedua-dua belah </li> <li>(): simbol pengumpulan, padankan kandungan dalam kurungan secara keseluruhan </li> </ol> <p> 2. Gunakan ungkapan biasa untuk memadankan nilai atribut tag HTML dalam PHP </p> <p> Mari kita gunakan contoh untuk menunjukkan cara Ekspresi biasa digunakan dalam PHP untuk memadankan nilai atribut tag HTML. </p> <p>Andaikan kita mempunyai kod HTML berikut: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:html;toolbar:false;'><html> <body> <div class="content"> <p id="one">这是第一段文字</p> <p id="two">这是第二段文字</p> <p id="three">这是第三段文字</p> </div> </body> </html></pre><div class="contentsignin">Salin selepas log masuk</div></div><p>Kita perlu mencari semua <p> dan mendapatkan nilai atribut idnya. </p><p>Berikut ialah pelaksanaan kod PHP: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><?php // 定义HTML代码 $html = '<html> <body> <div class="content"> <p id="one">这是第一段文字</p> <p id="two">这是第二段文字</p> <p id="three">这是第三段文字</p> </div> </body> </html>'; // 定义正则表达式 $pattern='/<p[^>]*s+id=["']([^"']+)["'][^>]*>/i'; // 执行匹配 if(preg_match_all($pattern, $html, $match)){ // 输出匹配结果 var_dump($match[1]); } ?></pre><div class="contentsignin">Salin selepas log masuk</div></div><p>Dalam kod di atas, kami mula-mula mentakrifkan kod HTML yang perlu dipadankan, kemudian mentakrifkan ungkapan biasa, melaksanakan operasi pemadanan melalui fungsi preg_match_all, dan akhirnya Output hasil padanan. </p> <p>3. Analisis ungkapan biasa</p> <p>Jika anda mempunyai keraguan tentang ungkapan biasa di atas, kami akan menganalisisnya satu demi satu di bawah. </p> <ol><li><p> Padanan teg </li></ol> <p>Bahagian pertama ungkapan biasa ialah <code><p</code>, yang digunakan untuk memadankan permulaan <p> tag. Bahagian ini sangat mudah, ia secara langsung sepadan dengan huruf pertama <code><</code> teg <p> dengan aksara berikut <code>p</code>. </p> <ol start="2"><li> Pemadanan nilai atribut </li></ol> <p> Bahagian kedua ungkapan biasa ialah <code>[^>]*s+</code>, yang digunakan terutamanya untuk memadankan bahagian atribut <p> ; </p><p>di mana <code>[^>]* bermaksud memadankan mana-mana aksara kecuali >`, dan membenarkan 0 kepada berbilang padanan, yang bermaksud ruang dan aksara lain sebelum atribut boleh dipadankan. </p> <p>Yang berikut <code>s+</code> bermaksud memadankan mana-mana aksara ruang dan membenarkan 1 hingga berbilang padanan. </p> <p>Tujuan langkah ini adalah untuk memadankan sebarang atribut teg <p> dan untuk mengendalikan simbol ruang antara berbilang atribut. </p> <ol start="3"><li> Padanan nilai atribut id </li></ol> <p> Bahagian ketiga ungkapan biasa ialah <code>id=["']([^"']+)["']</code>, yang digunakan untuk memadankan nilai atribut id. </p> <p>di mana <code>id=</code> menunjukkan bahawa nama atribut yang perlu dipadankan ialah id. </p> <p><code>["']</code> bermakna ia boleh memadankan petikan tunggal <code>'</code> atau petikan berganda <code>"</code>. </p> <p><code>([^"']+)</code> bermaksud memadankan mana-mana aksara kecuali tanda petikan tunggal <code>'</code> atau tanda petikan berganda <code>"</code>, dan membenarkan 1 hingga berbilang padanan. </p> <p>Kurungan <code>()</code> digunakan di sini untuk mengumpulkan hasil padanan untuk kegunaan seterusnya. </p> <ol start="4"><li><blockquote> padanan simbol </blockquote></li></ol> <p>Bahagian terakhir ungkapan biasa ialah <code>[^>]*></code>, yang bermaksud memadankan simbol mengekor ></p> Antaranya, <p> mempunyai fungsi yang sama seperti dahulu dan digunakan untuk memadankan mana-mana watak sebelum >. <code>[^>]*</code></p>Fungsi terakhir ungkapan biasa ini adalah untuk memadankan semua teg <p> <p></p>4. Ringkasan<p></p>Ekspresi biasa ialah alat yang berkuasa untuk memproses rentetan dengan cepat. Dalam kerja pembangunan web sebenar, kita selalunya perlu menggunakan ungkapan biasa untuk mengendalikan padanan nilai atribut bagi teg HTML. Dalam PHP, fungsi preg_match_all boleh melaksanakan fungsi ini dengan sangat mudah Kita hanya perlu mentakrifkan ungkapan biasa dan kemudian memanggil fungsi untuk melakukan pemadanan. Melalui pengenalan artikel ini, saya percaya bahawa semua orang boleh lebih memahami dan menguasai kaedah menggunakan ungkapan biasa untuk memadankan nilai atribut tag HTML dalam PHP. <p></p>

Atas ialah kandungan terperinci Cara memadankan nilai atribut tag HTML menggunakan ungkapan biasa dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan