<p>Dengan populariti Internet, bahasa penanda HTML telah menjadi salah satu bahasa yang biasa digunakan dalam pengaturcaraan rangkaian. Apabila membuat halaman web, kami akan menggunakan HTML untuk membuat halaman web, dan mencapai pelbagai kesan dan fungsi visual dengan memasukkan tag dan elemen yang berbeza ke dalam HTML. </p>
<p>Walau bagaimanapun, dalam beberapa senario di mana kandungan HTML perlu diproses, kami perlu mengalih keluar teg HTML dan mengekalkan kandungan teks biasa sahaja, seperti enjin carian merangkak maklumat halaman web, memproses data perangkak, dsb. Artikel ini akan memperkenalkan cara membuang tag HTML dalam golang. </p>
<p>1. Gunakan ungkapan biasa </p>
<p>Pakej regexp dalam golang boleh menggunakan ungkapan biasa untuk memadankan dan memproses rentetan. Kita boleh menggunakan ungkapan biasa untuk memadankan teg HTML dan menggantikan teg dengan rentetan kosong. Berikut ialah contoh program: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>package main
import (
"fmt"
"regexp"
)
func main() {
text := "<p>Hello, World!</p>"
re := regexp.MustCompile(`<[^>]*>`)
result := re.ReplaceAllString(text, "")
fmt.Println(result)
}</pre><div class="contentsignin">Salin selepas log masuk</div></div><p> Output: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Hello, World!</pre><div class="contentsignin">Salin selepas log masuk</div></div><div class="contentsignin">Salin selepas log masuk</div></div><div class="contentsignin">Salin selepas log masuk</div></div><p> Program ini menggunakan ungkapan biasa <code><[^>]*></code> untuk memadankan semua teg HTML, dengan <code><</code> ialah simbol "<" <code>[^>]*</code> mewakili mana-mana aksara tanpa simbol ">" dan <code>></code> ialah simbol ">", jadi ia boleh sepadan dengan keseluruhan teg HTML. </p><p>2. Gunakan perpustakaan pihak ketiga </p><p>golang mempunyai banyak perpustakaan pihak ketiga yang sangat berguna yang boleh membantu kami membangunkan dan menggunakan aplikasi dengan cepat. Dalam tugas mengalih keluar teg HTML, kita boleh menggunakan pustaka pihak ketiga yang dipanggil <code>github.com/microcosm-cc/bluemonday</code>. </p><p>Berikut ialah contoh program: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>package main
import (
"fmt"
"github.com/microcosm-cc/bluemonday"
)
func main() {
text := "<p>Hello, World!</p>"
policy := bluemonday.StrictPolicy()
result := policy.Sanitize(text)
fmt.Println(result)
}</pre><div class="contentsignin">Salin selepas log masuk</div></div><p>Output: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Hello, World!</pre><div class="contentsignin">Salin selepas log masuk</div></div><div class="contentsignin">Salin selepas log masuk</div></div><div class="contentsignin">Salin selepas log masuk</div></div><p>Atur cara ini menggunakan pustaka <code>github.com/microcosm-cc/bluemonday</code> untuk mengalih keluar teg HTML Pustaka ini menyediakan API yang sangat kaya dan Strategi lalai boleh membantu kami mengalih keluar teg HTML dengan cepat. </p><p>3. Gunakan perpustakaan goquery </p><p>golang juga mempunyai pustaka pihak ketiga yang sangat mudah digunakan <code>github.com/PuerkitoBio/goquery</code> Pustaka ini digunakan untuk menghuraikan dokumen HTML dan XML perpustakaan untuk mengalih keluar Label. Berikut ialah contoh program: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>package main
import (
"fmt"
"strings"
"github.com/PuerkitoBio/goquery"
)
func main() {
text := "<p>Hello, World!</p>"
r := strings.NewReader(text)
doc, _ := goquery.NewDocumentFromReader(r)
result := doc.Text()
fmt.Println(result)
}</pre><div class="contentsignin">Salin selepas log masuk</div></div><p> Output: </p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Hello, World!</pre><div class="contentsignin">Salin selepas log masuk</div></div><div class="contentsignin">Salin selepas log masuk</div></div><div class="contentsignin">Salin selepas log masuk</div></div><p> Program ini menggunakan perpustakaan <code>github.com/PuerkitoBio/goquery</code> untuk menghuraikan dokumen HTML dan mengekstrak kandungan teks biasa, supaya tag HTML boleh dikeluarkan . </p>
<p>4. Langkah berjaga-jaga</p>
<p>Tidak kira kaedah yang digunakan untuk mengalih keluar tag HTML, terdapat beberapa langkah berjaga-jaga yang perlu kita ikuti: </p>
<ol>
<li>Apabila menggunakan ungkapan biasa untuk padankan teg HTML Apabila melakukan ini, anda mesti memastikan bahawa ungkapan biasa merangkumi semua teg, jika tidak akan terdapat salah penilaian atau teg hilang </li>
<li>Jika teg HTML dalam halaman web tidak diseragamkan, ia boleh menyebabkan teg; gagal memadankan atau menjana teg yang tidak serasi. </li>
<li> Sesetengah halaman web mungkin mengandungi beberapa aksara khas (seperti ), gaya CSS (seperti gaya), dsb. Kandungan ini juga perlu dikendalikan dengan penuh perhatian. . </li>
</ol>
<p> 5. Ringkasan </p>
<p> Terdapat banyak cara untuk mengalih keluar tag HTML dalam golang Kita boleh menggunakan ungkapan biasa, perpustakaan pihak ketiga, dsb. Selepas perbandingan dan percubaan, kami mengesyorkan menggunakan pustaka <code>github.com/microcosm-cc/bluemonday</code> dan <code>github.com/PuerkitoBio/goquery</code> untuk mengalih keluar teg HTML Kedua-dua perpustakaan ini sangat mudah digunakan dan mempunyai keserasian dan kestabilan yang baik. Sudah tentu, untuk beberapa senario yang lebih mudah, ungkapan biasa juga boleh digunakan. Apabila menggunakan sebarang kaedah, kita perlu memberi perhatian kepada beberapa butiran dan langkah berjaga-jaga untuk memastikan operasi normal program. </p>
Atas ialah kandungan terperinci Golang membuang tag html. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!