ホームページ >バックエンド開発 >PHPチュートリアル >PHP で URL からクエリ文字列を削除してクリーンな URL を取得するにはどうすればよいですか?

PHP で URL からクエリ文字列を削除してクリーンな URL を取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-02 20:47:11790ブラウズ

How Can I Remove Query Strings from URLs in PHP to Get Clean URLs?

クリーンな URL のクエリ文字列の削除

PHP では、URL に追加情報を含むクエリ文字列が含まれることがよくあります。ただし、クエリ文字列を使用せずにクリーンな URL のみを取得する必要がある場合があります。

PHP 実装

これを実現するには、strtok() 関数を使用できます。

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

strtok() は、? が最初に出現する前の文字列を効率的にキャプチャします。

追加テクニック

strtok() が推奨されるアプローチですが、代替テクニックもあります。

  • strstr(): ? の前の文字列をキャプチャします。 2 番目の引数として true を指定して使用した場合。ただし、信頼性は低くなります。
  • explode(): URL を ? で配列に分割します。クリーンな URL の最初の要素にアクセスします。
  • substr(): strrpos() と組み合わせると、このメソッドには信頼性の問題もあります。

デモ

さまざまなテクニックを説明するために、次のことを考慮してください。 URL:

  • www.example.com/myurl.html?unwantedthngs
  • www.example.com/myurl.html

の出力さまざまな方法は次のとおりです。

Method Output
strtok() www.example.com/myurl.html
strstr(/true) www.example.com/myurl.html
explode(/2) www.example.com/myurl.html
substr/strrpos() www.example.com/myurl.html

ご覧のとおり、 strtok() は一貫して正しい結果を提供しますが、他の手法は特定の場合、特にクエリ文字列が欠落している場合に失敗する可能性があります。

以上がPHP で URL からクエリ文字列を削除してクリーンな URL を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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