ホームページ >バックエンド開発 >PHPチュートリアル >PHP でクエリ文字列を使用せずに URL パスを効率的に抽出するにはどうすればよいですか?

PHP でクエリ文字列を使用せずに URL パスを効率的に抽出するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-01 21:33:10336ブラウズ

How Can I Efficiently Extract a URL Path Without the Query String in PHP?

クエリ文字列を使用しない URL パスの抽出

Web 開発では、多くの場合、URL を操作し、そのコンポーネントを操作する必要があります。一般的なシナリオの 1 つは、クエリ文字列を使用せずに URL パス (URL パラメーター リストとも呼ばれます) を取得する必要があることです。

問題:

フォームで URL を扱う場合「www.example.com/myurl.html?unwantedthngs」の場合、疑問符 (?) とそれに続くすべてを削除して、次のようなクリーンな URL パスを取得することもできます。 "www.example.com/myurl.html."

解決策:

このタスクを実行するには、PHP の strtok() を使用するなど、さまざまな手法を使用できます。関数。 strtok() は、指定された区切り文字に基づいて文字列をトークン化できる強力な関数です。

例:

$url = strtok($_SERVER["REQUEST_URI"], '?');

この例では、strtok を使用します。 () $_SERVER["REQUEST_URI"] を 2 つの部分文字列に分割します。最初の部分文字列には URL パスが含まれます。最初に出現した疑問符まで、2 番目の部分文字列 (破棄します) にはクエリ文字列が含まれます。

代替テクニック:

strtok() は簡潔ですURL パスを抽出するための効果的な方法以外にも、次のような方法を検討できます。 Well:

  • explode():explode() を使用すると、疑問符区切り文字に基づいて URL を配列に分割できます。ただし、特に URL パスのみが必要な場合は、URL 全体を展開する必要があるとは限りません。
  • strstr() を true: に設定する strstr() の 3 番目のパラメータを true に設定します。を使用すると、最初に出現する疑問符までの URL パスを取得できます。ただし、このメソッドは strtok() やexplode() ほど信頼性がありません。
  • substr() および strrpos(): substr() を使用すると、先頭から部分文字列を抽出できます。 URL の疑問符の最後の位置まで。strrpos() を使用して決定されます。ただし、このメソッドは、特にクエリ文字列のない URL を処理する場合、完全に信頼できるわけではありません。

結論:

strtok() は、次の場合に堅牢で信頼性の高い手法です。クエリ文字列を含まない URL パスを抽出します。これは、PHP コードでこのタスクを実行するための簡潔かつ効率的な方法を提供します。

以上がPHP でクエリ文字列を使用せずに URL パスを効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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