<p>Teg HTML sering digunakan dalam tapak web moden, dan teg ini mengandungi pelbagai elemen, seperti tajuk, perenggan, dsb. Jika anda seorang pembangun PHP, maka anda mungkin menghadapi keperluan untuk mengekstrak semua tajuk dan tag perenggan daripada fail HTML untuk kegunaan selanjutnya. Di sinilah ungkapan biasa berguna. Artikel ini akan menunjukkan kepada anda cara menggunakan ungkapan biasa PHP untuk memadankan semua tajuk dan perenggan dalam HTML. </p>
<p>Pertama sekali, kita perlu tahu apakah teg tajuk dan perenggan dalam HTML. Tag HTML mengandungi pelbagai elemen tajuk dan perenggan, yang paling biasa ialah h1, h2, h3 dan tag lain yang digunakan untuk mewakili tajuk, manakala tag p digunakan untuk mewakili perenggan. Dalam artikel ini kami hanya akan menumpukan pada teg yang paling biasa digunakan ini. </p>
<p>Sekarang, mari kita lihat cara menggunakan ungkapan biasa PHP untuk memadankan teg tajuk dan perenggan dalam HTML. Kod di bawah menunjukkan skrip PHP mudah yang akan membaca fail HTML dan memadankan semua tajuk dan perenggan di dalamnya menggunakan ungkapan biasa: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><?php
// 读入 HTML 文件
$html = file_get_contents('example.html');
// 正则表达式匹配所有标题和段落
$pattern = '/<(hd|p)[^>]*>(.*?)</>/si';
preg_match_all($pattern, $html, $matches);
// 显示所匹配的结果
print_r($matches[0]);
?></pre><div class="contentsignin">Salin selepas log masuk</div></div><p>Ungkapan biasa dalam coretan kod ini<code>/<(hd|p)[^>]*>(.*?)</>/si</code> Anda boleh melakukan perkara berikut: </p><ul><li><code><</code> dan <code>></code> aksara meta digunakan untuk memadankan kedudukan permulaan dan penamat teg HTML. </li><li><code>hd|p</code> bermaksud padankan semua teg tajuk (h1, h2, h3, dll.) dan perenggan (p). </li><li><code>[^>]*</code> sepadan dengan semua aksara dalam teg kecuali <code>></code> kerana <code>></code> ialah pembatas untuk kedudukan permulaan teg. </li><li><code>(.*?)</code> Menggunakan padanan yang tidak tamak untuk memadankan teks antara tag. </li><li><code></></code> bermaksud memadankan teg akhir yang sepadan dengan teg permulaan. <code></code> bermaksud memadankan teg yang ditentukan sebelumnya (iaitu <code>hd|p</code>). </li></ul><p>Dalam ungkapan biasa ini, kami menggunakan dua pengubah suai corak <code>s</code> dan <code>i</code>. Antaranya, <code>s</code> digunakan untuk menghidupkan "mod padanan titik", supaya <code>.</code> metacharacter sepadan dengan semua aksara, termasuk baris baharu. Dan <code>i</code> digunakan untuk menghidupkan "mod tidak peka huruf besar-besaran" supaya huruf besar nama teg tidak menjejaskan hasil yang sepadan. </p><p>Apabila skrip selesai dijalankan, ia akan mencetak semua tajuk dan tag perenggan yang sepadan. Hasilnya akan kelihatan seperti ini: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Array
(
[0] => <h1>PHP 正则表达式</h1>
[1] => <p>现代网站中常常会用到 HTML 标记,这些标记包含了各种元素,例如标题和段落等等。</p>
[2] => <h2>标题2</h2>
[3] => <p>段落2</p>
[4] => <h3>标题3</h3>
[5] => <p>段落3</p>
)</pre><div class="contentsignin">Salin selepas log masuk</div></div><p>Dengan hasil ini, kita dapat melihat bahawa ungkapan biasa PHP berjaya memadankan semua teg tajuk dan perenggan dalam HTML. Ungkapan biasa ini mempunyai senario aplikasi lain, seperti pautan yang sepadan, gambar dan jadual dalam HTML. Semoga artikel ini membantu anda lebih memahami menggunakan ungkapan biasa PHP untuk memadankan elemen dalam HTML. </p>
Atas ialah kandungan terperinci Ungkapan Biasa PHP: Bagaimana untuk memadankan semua tajuk dan perenggan dalam HTML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!