<p>Dalam pembangunan web, selalunya perlu untuk mengekstrak kandungan teks daripada HTML. Pada masa ini, kita boleh menggunakan ungkapan biasa PHP untuk mencapai fungsi ini. Ungkapan biasa ialah bahasa untuk memadankan rentetan dan boleh digunakan untuk menghuraikan penanda HTML, menapis teks, mengesahkan borang dan banyak lagi. </p>
<p> Di bawah ini kami akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengekstrak semua kandungan teks dalam HTML. </p>
<ol><li>Dapatkan kandungan fail HTML </li></ol>
<p>Pertama, kita perlu menggunakan fungsi membaca fail PHP <code>file_get_contents()</code> untuk membaca kandungan fail HTML. Sebagai contoh, kami mempunyai fail HTML bernama <code>example.html</code>, yang boleh dibaca dengan kod berikut: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$html = file_get_contents("example.html");</pre><div class="contentsignin">Salin selepas log masuk</div></div><ol start="2"><li>Menulis ungkapan biasa </li></ol><p>Seterusnya, kita perlu tulis ungkapan biasa Ungkapan untuk memadankan kandungan teks dalam HTML. Dalam HTML, kandungan teks terletak di antara teg dan kami boleh mengekstrak kandungan teks dengan memadankan teg. </p><p>Berikut ialah contoh ungkapan biasa ringkas yang boleh memadankan semua teg HTML: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$pattern = '/<[^>]*>/';</pre><div class="contentsignin">Salin selepas log masuk</div></div><p>Maksud ungkapan biasa ini ialah: padankan bermula dengan <code><</code> dan berakhir dengan <code>></code> Aksara urutan yang tidak mengandungi sebarang <code>></code> aksara di tengah. </p><p>Kita boleh menggunakan fungsi <code>preg_replace()</code> untuk menggantikan semua tag HTML dengan rentetan kosong untuk mengekstrak kandungan teks dalam HTML: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$text = preg_replace($pattern, '', $html);</pre><div class="contentsignin">Salin selepas log masuk</div></div><ol start="3"><li>Tapis aksara khas</li></ol><p>Selepas mengekstrak kandungan teks dalam HTML, kami juga perlu menapis beberapa aksara khas, seperti pemisah baris, tab, dsb. Pada masa ini, kita boleh menggunakan fungsi <code>strip_tags()</code> PHP untuk mengalih keluar semua teg dalam HTML dan menggunakan fungsi <code>trim()</code> untuk mengalih keluar aksara ruang putih di kedua-dua hujung rentetan. </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$text = strip_tags($text);
$text = trim($text);</pre><div class="contentsignin">Salin selepas log masuk</div></div><p>Akhir sekali, kami boleh mendapatkan semua kandungan teks dalam HTML. </p><p>Kod lengkap adalah seperti berikut: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$html = file_get_contents("example.html");
$pattern = '/<[^>]*>/';
$text = preg_replace($pattern, '', $html);
$text = strip_tags($text);
$text = trim($text);
echo $text;</pre><div class="contentsignin">Salin selepas log masuk</div></div><p>Ringkasan</p>
<p>Menggunakan ungkapan biasa PHP untuk mengekstrak kandungan teks dalam HTML ialah operasi biasa. Melalui pengenalan langkah-langkah di atas, kita boleh melaksanakan fungsi ini dengan mudah. Walau bagaimanapun, perlu diingat bahawa ungkapan biasa hanyalah alat pemadanan asas Untuk serpihan HTML yang kompleks, kaedah pemadanan yang lebih kompleks mungkin diperlukan untuk mengekstrak kandungan teks. </p>
Atas ialah kandungan terperinci Ungkapan Biasa PHP: Bagaimana untuk mengekstrak semua kandungan teks dalam HTML. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!