PHPでURLをデコードする方法:urldecode関数の使い方を解説
PHPでは、組み込み関数のurldecodeを使用することで、URLエンコードされた文字列を簡単にデコードできます。この関数は、パーセントエンコーディング(%xx形式)で表現されたデータを、元の読み取り可能な文字列に変換して返します。
urldecode関数の構文
string urldecode($input)
urldecode関数は、デコード対象のURL文字列を受け取る単一のパラメータ($input)を引数として取ります。デコードが成功した場合、元の文字列が返されます。
使用例
以下は、urldecode関数を使ってエンコードされたURLをデコードする具体的な例です。
<?php
echo urldecode("https%3A%2F%2Fmedium.com%2F") . "\n";
?>上記のコードでは、urldecode関数にエンコード済みの文字列「https%3A%2F%2Fmedium.com%2F」を渡しています。関数はこの生データ(エンコードされた文字列)を受け取り、「%3A」を「:」に、「%2F」を「/」に変換するなどして、デコードされた値を返します。
実行結果
上記のコードを実行すると、以下の出力が得られます。
https://medium.com/
補足:関連する関数
なお、URLのクエリ文字列全体をデコードしたい場合は、urldecodeのほかに、+(プラス記号)をスペースに変換する挙動を持つrawurldecodeとの使い分けも知っておくと便利です。一般的なURLエンコードの復元にはurldecode、RFC 3986準拠の厳密な処理にはrawurldecodeが適しています。
-
PHPのstripslashes()関数とは?使い方とサンプルコードを解説
PHPのstripslashes()関数は、エスケープ処理によって付与されたバックスラッシュ(\)を文字列から取り除くための関数です。データベースに保存する前後の文字列処理や、不要なエスケープ記号を削除したい場合などによく使われます。構文stripslashes(str)パラメータstr − バックスラッシュを取り除きたい対象の文字列を指定します。戻り値stripslashes()関数は、バックスラッシュが取り除かれた文字列を返します。具体的には、\ は に変換され、二重のバックスラッシュ(\\)は単一のバックスラッシュ(\)に変換されます。使用例以下はstripslashes()関数を使用
-
PHPのstrcspn()関数の使い方を解説!構文・パラメータ・実行例
strcspn()関数は、文字列の中で指定した文字のいずれかに一致する部分が現れるまでの文字数(マスク文字に該当しない先頭部分の長さ)を返します。特定の文字が出現する前に、いくつの文字が存在しているかを調べたい場合に便利です。 構文 strcspn(str, char, begin, len) パラメータ str − 検索対象となる元の文字列を指定します。 char − 検索の対象となる文字(マスク文字)を指定します。 begin − 文字列の検索を開始する位置(省略可能)。 len − 検索する文字列の長さ(省略可能)。 戻り値 strcspn()関数は、指定した文字が見つかるまでに