GolangはHTMLタグを削除します

王林
リリース: 2023-05-13 09:16:07
オリジナル
929 人が閲覧しました
<p>インターネットの普及に伴い、HTML マークアップ言語はネットワーク プログラミングで一般的に使用される言語の 1 つになりました。 Webページを作成する際にはHTMLを使用してWebページを作成し、HTMLにさまざまなタグや要素を挿入することでさまざまな視覚効果や機能を実現します。 </p> <p>ただし、HTML コンテンツを処理する必要がある一部のシナリオでは、HTML タグを削除し、プレーン テキスト コンテンツのみを保持する必要があります (検索エンジンによる Web ページ情報の巡回、クローラー データの処理など)。この記事では、golangでHTMLタグを削除する方法を紹介します。 </p> <p>1. 正規表現の使用</p> <p>golang の regexp パッケージでは、正規表現を使用して文字列の照合と処理を行うことができます。正規表現を使用して HTML タグを照合し、タグを空の文字列に置き換えることができます。これはサンプル プログラムです: </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">ログイン後にコピー</div></div><p>出力: </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">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><p>このプログラムは正規表現 <code><[^>]*></code> を使用してすべての HTML タグと一致します。ここで、<code><</code> は「<」記号、<code>[^>]*</code> は「>」記号のない任意の文字を表します、<code>></code> 「>」記号を使用して、HTML タグ全体と一致できるようにします。 </p><p>2. サードパーティ ライブラリを使用する</p><p>golang には、アプリケーションの迅速な開発とデプロイに役立つ非常に便利なサードパーティ ライブラリが多数用意されています。 HTML タグを削除するタスクでは、<code>github.com/microcosm-cc/bluemonday</code> という名前のサードパーティ ライブラリを使用できます。 </p><p>以下はサンプル プログラムです: </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">ログイン後にコピー</div></div><p>出力: </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">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><p>このプログラムは、<code>github.com/microcosm-cc/bluemonday</code> ライブラリを使用して、 HTML タグを削除するには、このライブラリは、HTML タグを迅速に削除するのに役立つ非常に豊富な API とデフォルトの戦略を提供します。 </p><p>3. goquery ライブラリを使用する</p><p>golang には、非常に使いやすいサードパーティ ライブラリ <code>github.com/PuerkitoBio/goquery</code> もあります。このライブラリは次の目的で使用されます。 HTML および XML ドキュメントを解析すると、このライブラリを使用して HTML タグを削除できます。以下はサンプル プログラムです: </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">ログイン後にコピー</div></div><p>出力: </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">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><p>このプログラムは、<code>github.com/PuerkitoBio/goquery</code> ライブラリを使用して HTML ドキュメントを解析し、プレーン ドキュメントを抽出します。テキストコンテンツなので、HTML タグを削除できます。 </p> <p>4. 注意事項</p> <p>どのような方法で HTML タグを削除する場合でも、従う必要がある注意事項がいくつかあります。 HTML タグの一致 これを行うときは、正規表現がすべてのタグをカバーしていることを確認する必要があります。そうしないと、誤った判断やタグが見逃されます。期待される結果。</p> <ol> 一部の Web ページには、特殊文字 ( など)、CSS スタイルが含まれている場合があります。 (スタイルなど)など、これらの内容も取り扱いには注意が必要です。 <li> <li>5. 概要</li> <li>golang で HTML タグを削除するには、正規表現やサードパーティのライブラリなどを使用する方法がたくさんあります。比較と実験の結果、</li>github.com/microcosm-cc/bluemonday</ol> ライブラリと <p>github.com/PuerkitoBio/goquery</p> ライブラリを使用して HTML タグを削除することをお勧めします。どちらのライブラリも非常に優れています。優れた互換性と安定性を備えています。もちろん、いくつかの単純なシナリオでは、正規表現も使用できます。いずれの方法を使用する場合でも、プログラムが正常に動作するように、いくつかの詳細と注意事項に注意を払う必要があります。 <p></p>

以上がGolangはHTMLタグを削除しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート