インターネットの継続的な発展とユーザー ニーズの向上に伴い、ユーザーがページ上のコンテンツを追加、編集、削除できるように、テキスト編集機能を提供する Web サイトがますます必要になっています。これらのコンテンツをデータベースに保存するとき、またはページに表示するときは、通常、プレーン テキスト形式にするために何らかの処理を行う必要があります。
PHP プログラマーにとって、HTML を削除するプロセス、つまりリッチ テキストをプレーン テキスト形式に変換するプロセスは重要なスキルです。では、PHP を使用して HTML を取り除き、プレーン テキストを取得するにはどうすればよいでしょうか?次の記事では、このトピックに関する実践的な方法をいくつか紹介します。
PHP には、HTML タグを削除してプレーン テキスト形式の文字列を取得できるstrip_tags() 関数があります。関数の形式は次のとおりです。
string strip_tags ( string $str [, string $allowable_tags ] )
最初のパラメータは処理される文字列で、2 番目のパラメータは保持が許可されるタグ要素の名前です。 2 番目のパラメータが指定されていない場合は、すべての HTML タグが削除されます。
たとえば、次のコードは HTML テキスト内のすべてのタグ要素を削除し、結果を出力します。
<?php $html = '<div><p>Hello, world!</p></div>'; $text = strip_tags($html); echo $text; // 输出结果:Hello, world! ?>
上記のメソッドは、指定されたタグ要素の保持をサポートするように拡張できます。
<?php $html = '<div><p>Hello, world!</p><a href="www.google.com">Google</a></div>'; $text = strip_tags($html, '<p>'); echo $text; // 输出结果:<p>Hello, world!</p> ?>
strip_tags() 関数に加えて、正規表現を使用することも一般的な方法です。正規表現は HTML タグと一致し、タグを削除できます。以下はサンプル コードです:
<?php $html = '<div><p>Hello, world!</p></div>'; $text = preg_replace('/<[^>]*>/', '', $html); echo $text; // 输出结果:Hello, world! ?>
preg_replace() 関数と正規表現 "/<1*>/" を使用して HTML を削除しますタグ。この正規表現は、「<」で始まり「>」で終わる任意の文字列と一致します。括弧内の「^>」は、「>」を除くすべての文字と一致することを意味します。
上記の 2 つの方法はシンプルで効果的ですが、太字、斜体、下線などの一部の書式設定タグを含む HTML タグを完全に削除します。これらのタグを完全に削除せず、スタイルを維持したい場合はどうすればよいでしょうか?
現時点では、PHP DOM 拡張機能を使用して、より高度な HTML タグの削除を実現できます。 PHP DOM 拡張機能は、HTML および XML ドキュメントを解析し、クエリ、挿入、ノードの削除などの操作を行うことができる、強力かつ柔軟な拡張機能です。
以下は、PHP DOM 拡張機能を使用して HTML タグを削除するサンプル コードです。
<?php $html = '<div><p><strong>Hello, </strong><i>world</i>!</p></div>'; $dom = new DOMDocument(); $dom->loadHTML($html); $body = $dom->getElementsByTagName('body')->item(0); $text = $body->textContent; echo $text; // 输出结果:Hello, world! ?>
最初に DOMDocument オブジェクトを作成し、次に、処理する HTML 文字列をそのloadHTML() メソッドに渡します。 。次に、getElementsByTagName('body')->item(0) メソッドを使用して HTML の body 要素を取得し、textContent 属性を使用して body 要素の下にあるすべてのプレーン テキスト コンテンツを取得します。最後に、結果が画面に出力されます。
この記事では、HTML タグを削除してプレーン テキストを取得するための 3 つの PHP ベースの方法を紹介します。 1 つ目は、最も基本的な HTML タグの削除を実現できる単純なstrip_tags() 関数です。2 つ目は、正規表現の利点を利用して HTML タグを照合して削除します。3 つ目は、HTML を完全に制御できる PHP DOM 拡張機能を使用します。システムを制御し、出力結果をより細かく制御します。誰もが自分のニーズに応じて柔軟に使用を選択できます。
以上がPHPでHTMLを削除してプレーンテキストを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。