ホームページ  >  記事  >  バックエンド開発  >  PHP 正規表現: HTML 内のすべてのスタイルシート リンクを照合する方法

PHP 正規表現: HTML 内のすべてのスタイルシート リンクを照合する方法

王林
王林オリジナル
2023-06-22 19:49:38889ブラウズ

HTML では、スタイル シートのリンクは通常、head タグ内に埋め込まれます。これらのリンクは、ドキュメントの表示をカスタマイズするスタイル ルールを含む CSS ファイルを指します。

場合によっては、HTML ページ内の特定の要素や属性を削除または置換するなど、HTML ページを自動的に処理するコードを作成する必要があります。現時点では、HTML のスタイル シート リンクを操作する必要がある場合は、PHP で正規表現を使用してこれらのリンクを照合できます。

以下は実装方法の例です:

まず、HTML ページのコンテンツを取得して変数に保存する必要があります。この操作を実行するには、PHP の file_get_contents 関数を使用できます。例:

$html = file_get_contents("http://www.example.com");

次に、次のように書く必要があります。 HTML 内のスタイル シート リンクと一致する正規表現。スタイルシートのリンクは通常、次の形式になります。

また、いくつかの形式があります。 href 属性値に絶対パスまたは相対パスを含めたり、属性値を二重引用符または一重引用符で囲んだりするなどのバリエーションが考えられます。したがって、さまざまなバリアント スタイルシートのリンクに一致する正規表現を作成する必要があります。

次は、スタイル シート リンクに一致する正規表現です:

$link_pattern = '/href=['"]?(..css )/';

この正規表現は ) と一致します。次に、['"]? を使用して属性値を引用符または一重引用符で囲み、この値をグループに格納します。最後に、..css を使用して、href 属性値の .css で終わるファイル名を照合します。

完了後、preg_match_all 関数を使用して、HTML ページ内のすべてのスタイル シート リンクを照合できます。

preg_match_all($link_pattern, $html, $matches);

この関数は、一致するすべてのスタイル シート リンクを含む配列 $matches を返します。要素 $matches[0] には一致したすべての文字列が含まれ、$matches[1] には一致した href 属性値が含まれます。

最後に、リンクの削除や置換など、スタイル シート リンクを操作できます。

$new_html = preg_replace($link_pattern, '」に置き換えます。

正規表現を使用して HTML 内のスタイル シート リンクを照合すると、ページ処理を簡単に自動化できます。正規表現を記述するときは、すべてのスタイル シート リンクが確実に一致するように、さまざまなバリエーションを考慮する必要があります。

以上がPHP 正規表現: HTML 内のすべてのスタイルシート リンクを照合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。