ホームページ > ウェブフロントエンド > フロントエンドQ&A > 正規表現を使ってHTMLタグを削除する方法

正規表現を使ってHTMLタグを削除する方法

PHPz
リリース: 2023-04-24 15:30:10
オリジナル
2466 人が閲覧しました

HTML タグは、Web アプリケーションを開発する際に非常に重要です。特にフロントエンド開発の分野では、Web サイトのレイアウト、スタイル、アプリケーションの外観を構築するために HTML タグがよく使用されます。

ただし、場合によっては、ページのコンテンツを表示するのではなく、これらのタグからデータを抽出または処理する必要があります。この場合、HTML タグを削除してプレーン テキストを抽出する方法が必要です。このプロセスは、「通常の HTML タグの削除」と呼ばれることがよくあります。

この記事では、正規表現を使ってHTMLタグを削除し、プレーンテキストを抽出する方法を紹介します。

正規表現は、テキスト内の特定のパターンを検索して置換するために使用できる一般的なテキスト処理ツールです。 PHP、JavaScript、およびその他のプログラミング言語では、正規表現を使用して検索するパターンを表現し、それを使用してテキストを処理できます。

この記事では、PHP の preg_replace 関数を使用して HTML タグを置換します。この関数は、置換するパターン、置換するテキスト、スキャンするソース テキストの 3 つのパラメータを受け入れます。

正規表現を使用せずに HTML タグからテキストを取得するサンプル PHP コードを次に示します:

$html_text = '<p>这是一个段落。</p><div><h1>这是一个标题</h1></div>';

$text = strip_tags($html_text);

echo $text;
ログイン後にコピー

この例では、HTML タグを含む文字列を渡します。PHP のstrip_tags 関数を使用して、すべての HTML を削除します。タグ。この関数は PHP の組み込み関数であり、非常に簡単に使用できます。

もう 1 つの方法は、正規表現を使用することです。 preg_replace 関数を使用して HTML タグを削除する PHP コード例を次に示します。

$html_text = '<p>这是一个段落。</p><div><h1>这是一个标题</h1></div>';

$pattern = '/<[^>]*>/';

$text = preg_replace($pattern, '', $html_text);

echo $text;
ログイン後にコピー

この例では、正規表現パターン "/1* を使用します。 >/" は HTML タグと一致します。このパターンは、「<」で始まり「>」で終わり、「>」以外の文字を 0 個以上含む文字列と一致するように正規表現エンジンに指示します。このパターンは任意の HTML タグと一致します。

正規表現の基本は完了したので、ここではさらに複雑な例をいくつか示します。

特定のタグを削除する

特定の HTML タグを削除するには、正規表現にこのタグの名前を含めることができます。たとえば、すべての P タグを削除するには、次のコードを使用します。

$pattern = '/<p[^>]*>/';

$text = preg_replace($pattern, '', $html_text);
ログイン後にコピー

この例では、パターンに「P」タグの名前を含め、アスタリスク記号を使用して、すべてのタグが削除されることを示します。

上記のコードで、「/p」タグも削除したい場合は、次のコードを使用できます:

$pattern = &#39;/<[/]?p[^>]*>/';

$text = preg_replace($pattern, '', $html_text);</p>
<p>この例では、オプションの終了タグを追加しました。選択項目 (「</p>」) と疑問符記号は、それがオプションであることを示すために使用されます。このパターンは、開始 P タグと終了 P タグと一致します。 </p>
<p>リンクの抽出</p>
<p>HTML タグから特定のデータを抽出する必要がある場合があります。たとえば、リンク タグから URL を抽出する必要がある場合があります。リンクを抽出するには、次のコードを使用します。 </p>
<pre class="brush:php;toolbar:false">$html_text = '<a href="http://www.example.com">这是一个链接</a>';

$pattern = '/<a\s+href="([^"]+)">([^<]+)<\/a>/i';

preg_match($pattern, $html_text, $matches);

$url = $matches[1];

echo $url;
ログイン後にコピー

この例では、「A」タグに一致するより具体的なパターンを使用し、サブパターンを使用して URL とリンク テキストを抽出します。

正規表現では、大文字と小文字を区別せずに一致させるために「/i」修飾子を使用します。この修飾子は、タグの属性や属性値を検索するときに非常に便利です。

概要

この記事では、HTML タグを削除する際の正規表現とその応用について紹介しました。すべてのタグの削除、特定のタグの削除、リンクの抽出など、いくつかの一般的な正規表現パターンを調査しました。

優れた Web 開発者になるには、HTML タグと正規表現を深く理解する必要があります。正規表現を使用して HTML タグを削除すると、Web アプリケーションの効率とパフォーマンスが大幅に向上します。


  1. >

以上が正規表現を使ってHTMLタグを削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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