ホームページ  >  記事  >  バックエンド開発  >  PHP で漢字を含む URL を解析するにはどうすればよいですか?

PHP で漢字を含む URL を解析するにはどうすればよいですか?

怪我咯
怪我咯オリジナル
2018-05-28 17:40:002759ブラウズ

URL (Uniform Resource Locator:Uniform Resource Locator) は、WWW ページのアドレスです。 左から右に次の部分でグループ化されます。 ・インターネット リソース タイプ (スキーム): WWW クライアント プログラムで使用されるツールを示します。動作します 。たとえば、「http://」は WWW サーバーを表し、「ftp://」は FTP サーバーを表し、「gopher://」は Gopher サーバーを表し、「new:」は Newgroup ニュース グループを表します。
・サーバーアドレス(ホスト):WWWページが存在するサーバーのドメイン名を示します。
·ポート: 場合によっては (常にではありませんが)、特定のリソースにアクセスするために、対応するサーバーのポート番号を指定する必要があります。
·パス: サーバー上のリソースの場所を示します (その形式は DOS システムのものと同じで、通常はディレクトリ/サブディレクトリ/ファイル名の構造で構成されます)。ポートと同様、パスは必ずしも必要というわけではありません。
URL アドレスの形式は、scheme://host:port/path のように配置されます。たとえば、http://
www.sohu.com/domain/HXWZ が一般的な URL アドレスです。

この記事では主に、PHP での漢字を含む URL 関数の共有について紹介し、rawurlencode 関数の使用に焦点を当てて実装コードを直接提供します。 Web ページの作成 プログラムを適用すると、中国語と他の文字の競合の問題が発生します。たとえば、一部の URL リンクに中国語の文字が含まれている場合、wget/curl/

file_get_contents

などを使用すると、大きな "404" が発生します。情報を得るために、非常に言葉を失います。

この問題を解決するための小さな関数がここに書かれています。これはパス内の解析に限定されています。関連する関数についてはマニュアルを確認してください。

コードは次のとおりです:

function urlConvert($url){   
        $pathArr = array();   
        $modules = parse_url($url);   
        $path = $modules['path'];   
        $pathSplit = explode(‘/', $path);   
       
        foreach ($pathSplit as $row){   
            $pathArr[] = rawurlencode($row);   
        }   
        $urlNew = $modules['scheme']."://".$modules['host'].implode(‘/', $pathArr);   
        return $urlNew;   
    }

以上がPHP で漢字を含む URL を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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