HTML は、Web ページ上にコンテンツを表示するために一般的に使用されるページ マークアップ言語です。 HTML では、textarea タグは、ユーザーがテキストを入力または編集できるテキスト ボックスを作成するために使用されます。
ページからすべての textarea タグとそのコンテンツを抽出する必要がある場合、PHP 正規表現はシンプルで効果的なソリューションを提供します。この記事では、PHP 正規表現を使用して HTML 内のすべての textarea タグを照合する方法を学びます。
正規表現は、テキスト パターンを照合するために使用される式です。 PHP では、文字列の検索、文字列の置換、入力の検証などによく使用されます。
正規表現は、さまざまな文字、特殊文字、メタ文字で構成されます。このうち、特殊文字には、任意の 1 文字と一致するために使用されるピリオド (.) など、テキスト内の特定のパターンと一致するために使用される文字が含まれます。メタキャラクターは、パターンと一致する方法を記述します。たとえば、数量詞メタキャラクターは、1 つ以上の文字と一致するかどうかを記述します。
PHP では、DOM パーサー (ドキュメント オブジェクト モデル) を使用して HTML ドキュメントを解析し、ドキュメント要素内の必要な要素を見つけることができます。 。 DOM パーサーは HTML をツリー構造 (DOM オブジェクト) に抽象化し、プログラムが Web ドキュメント内の要素コンテンツを簡単に取得および変更できるようにします。
DOM パーサーを使用すると、次のコードを使用して textarea タグを含む HTML ドキュメントをロードできます。
$html = file_get_contents('example.html'); $dom = new DOMDocument; $dom->loadHTML($html);
コードでは、まず file_get_contents( )
関数の内容を取得し、DOM パーサーに渡します。次に、loadHTML()
メソッドを使用して、HTML ファイルを DOM オブジェクトに変換します。
次に、DOM オブジェクトで getElementsByTagName()
メソッドを使用して、すべての textarea タグを取得します。
$textarea_list = $dom->getElementsByTagName('textarea');
DOM パーサーは HTML ファイル内の textarea タグを簡単に取得できますが、タグのコンテンツを取得する簡単な方法は提供されていません。したがって、PHP 正規表現を使用して textarea タグの内容をさらに照合する必要があります。
textarea タグは通常、次の形式を取ります:
<textarea cols="50" rows="10">this is a text area</textarea>
PHP 正規表現を使用して、すべての textarea タグとその内容を照合できます。正規表現では、preg_match_all()
関数を使用して、HTML 文字列と関連パラメータを渡すことができます。すべての textarea タグに一致する JavaScript 正規表現は次のとおりです。
$pattern = '/<textarea[^>]*>(.*?)</textarea>/si'; preg_match_all($pattern, $html, $matches);
コードでは、/
を使用して正規表現をラップし、# が表す式の後に si## を追加します。検索識別子を追加し、すべての textarea タグが一致することを確認するための貪欲チェックボックス (
*?) を追加します。正規表現が正常に一致すると、すべての textarea タグとその内容が配列の形式で返されます。
$html = file_get_contents('example.html'); $dom = new DOMDocument; $dom->loadHTML($html); $textarea_list = $dom->getElementsByTagName('textarea'); foreach($textarea_list as $textarea) { $content = $textarea->nodeValue; // 获取 textarea 的内容 echo "textarea content: $content "; }コードでは、最初に HTML ファイルを読み込みます。 、および DOM パーサーを使用して、その中のすべての textarea タグを取得します。次に、
foreach を使用して各タグをループし、
$textarea->nodeValue を使用してテキストエリアのコンテンツを取得します。
以上がPHP 正規表現: HTML 内のすべての textarea タグと一致する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。