現在の位置: ホーム> 最新記事一覧> アンカーでURLを処理する方法(フラグメント)は?

アンカーでURLを処理する方法(フラグメント)は?

gitbox 2025-05-28

Web開発を行うときは、プロトコル、ホスト、パス、クエリパラメーターなどのURLから有用な情報を抽出する必要があることがよくあります。PHPの組み込みParse_url関数は、URLのこれらの部分を解析する便利な方法を提供します。この記事では、フラグメントでURLを処理する際のこの関数の動作に特に焦点を当てます。

1.アンカーポイント(フラグメント)とは何ですか?

URLのアンカーポイント(「フラグメント識別子」とも呼ばれます)は、 から始まり、HTMLドキュメントの場所を指すために使用される部分です。例えば:

 https://gitbox.net/articles/php?query=test#section2

#セクション2は、URLのアンカーポイントです。これはサーバーに送信されませんが、ドキュメント内の特定の場所を見つけるためにブラウザによって使用されます。

2。Parse_url関数の概要

PHPのparse_url関数の基本的な使用法は次のとおりです。

 parse_url(string $url, int $component = -1): mixed
  • $ URL :解析するURL文字列。

  • $コンポーネント:オプションのパラメーターが提供されている場合、指定された部品が返されます( php_url_hostphp_url_pathなど)。

  • 返品値は、URLのさまざまな部分を含む連想配列です。

3。アンカーポイントを使用したURLの分析例

アンカーを含むURLで実際にテストします。

 $url = "https://gitbox.net/path/page.php?foo=bar#top";
$parsed = parse_url($url);
print_r($parsed);

操作結果は次のとおりです。

 Array
(
    [scheme] => https
    [host] => gitbox.net
    [path] => /path/page.php
    [query] => foo=bar
    [fragment] => top
)

結果からわかるように、 parse_urlはフラグメント部分を正常に認識し、フラグメントキーでそのを返します。

4.アンカーポイント部分のみを抽出します

アンカー部分のみを気にする場合は、 php_url_fragment定数を使用できます。

 $fragment = parse_url($url, PHP_URL_FRAGMENT);
echo $fragment; // 出力:top

これは、文字列を手動で解析することなく、URLのアンカー情報をすばやく見つけるのに最適です。

V.その他の予防策

  1. アンカーポイントはパスやクエリ解像度に影響しません<br> アンカー部分はパスパラメーターとクエリパラメーターの後に表示され、パスまたはクエリの解析結果への干渉を引き起こしません。

  2. フラグメントは、アンカーポイントなしで配列に表示されません<br> URLにアンカーがない場合、返された配列にはフラグメントキーが含まれません。

  3. URLデコードは実行されません
    parse_urlは文字列解析のみを実行し、各部品のURLデコードを実行しません。中国語またはエンコードされた文字を読む必要がある場合は、 urldecode()を使用してさらに処理する必要があります。

6。概要

Parse_urlは、PHPでURLを処理するための強力なツールであり、アンカーポイント(フラグメント)パーツを正確に認識および抽出します。この機能により、開発者はURLを簡単に分解して有用な情報を取得し、コードの読みやすさと保守性を向上させることができます。特に、ポジショニング情報またはフロントエンドナビゲーションを使用してURLを扱う場合、アンカーポイントを正しく解析すると、ページの動作またはジャンプロジックをより正確に制御することができます。