PHP処理URLの関連関数
3378 ワード
http_build_Query URL-encode生成後の要求文字列string http_build_query( mixed $query_data [,string $numeric_prefix [,string $arg_separator[,int $enc_type=PHP_QUERY_RFC1738]]] ) パラメータ説明: パラメータ
説明
query_data
配列または属性を含むオブジェクトです.1つのquery_data配列は、単純な1次元構造であってもよいし、配列からなる配列であってもよい(他の配列を順次含んでもよい).query_dataがオブジェクトである場合、publicの属性のみが結果を加える.
numeric_prefix
このパラメータがベース配列に数値ダウンスケールを使用して同時に与えられている場合、このパラメータ値はベース配列の数値ダウンスケール要素の接頭辞として使用されます.これは、PHPまたは他のCGIプログラムが後でデータを復号する際に正当な変数名を取得するためである.
arg_separator
このパラメータを指定して使用しない限りarg_separator.outputでパラメータを区切ります.
enc_type
PHP_のデフォルト使用QUERY_RFC1738.enc_の場合typeはPHP_QUERY_RFC 1738では、符号化は、»RFC 1738規格およびアプリケーション/x-www-form-urlencodedメディアタイプで符号化され、スペースはプラス記号(+)に符号化される.enc_typeがPHP_QUERY_RFC 3986である場合、»RFC 3986に従って符号化され、スペースはパーセンテージ符号化(%20)される.ヒント:接頭辞 は、1次元配列のキー名のみが追加されます.
parse_str URLのクエリー文字列(query string)を複数の変数に解析し、現在の役割ドメインvoid parse_str(string$str[,array&$arr])に設定します.パラメータ説明: パラメータ
説明
str
入力文字列
arr
2番目の変数arrが設定されている場合、変数は配列要素としてこの配列に格納され、代わりになります.
parse_urlはURLを解析し、そのコンポーネントmixed parse_を返します.url(string $url [,int $component= -1] )
この関数は、URLを解析し、URLに表示されるさまざまなコンポーネントを含む関連配列を返します.この関数は、指定されたURLの正当性を検証するために使用されるものではなく、以下に示す部分に分解されます.不完全なURLも受け入れられ、parse_url()は、できるだけ正確に解析しようとします.パラメータ説明: パラメータ
説明
url
解析するURL.無効な文字が使用されます_と呼びます.
component
指定PHP_URL_SCHEMEPHP_URL_HOSTPHP_URL_PORTPHP_URL_USERPHP_URL_PASSPHP_URL_PATHPHP_URL_QUERYPHP_URL_FRAGMENTのいずれかがURLで指定された部分を取得するstringはPHP_として指定する以外はURL_PORT後にintegerの値を返します.残りはstringを返します.戻り値説明: *重大な不合格のURLに対して、parse_url()はFALSEを返す可能性があります.componentパラメータを省略すると、関連する配列arrayが現在少なくとも1つの要素を配列に返します.配列内の可能なキーは次のとおりです.* scheme-http など host port user pass path query-疑問符?その後 fragment-ハッシュ記号#の後 componentパラメータが指定されている場合、parse_url()はstringまたはPHPとして指定された値を返します.URL_PORTでarrayではなくintegerを返します.URLに指定されたコンポーネントが存在しない場合、NULLが返されます.ヒント: 5.4.7プロトコル省略時のhostの認識を修復した.この関数は相対URLには使用できません.parse_url()はURIではなくURLの解析に特化しています.ただし、PHPの後方互換性に従うには例外があり、file://プロトコルでは3つの斜線(file:///...).他のいかなる協定もそうはいかない.
サンプルコード
説明
query_data
配列または属性を含むオブジェクトです.1つのquery_data配列は、単純な1次元構造であってもよいし、配列からなる配列であってもよい(他の配列を順次含んでもよい).query_dataがオブジェクトである場合、publicの属性のみが結果を加える.
numeric_prefix
このパラメータがベース配列に数値ダウンスケールを使用して同時に与えられている場合、このパラメータ値はベース配列の数値ダウンスケール要素の接頭辞として使用されます.これは、PHPまたは他のCGIプログラムが後でデータを復号する際に正当な変数名を取得するためである.
arg_separator
このパラメータを指定して使用しない限りarg_separator.outputでパラメータを区切ります.
enc_type
PHP_のデフォルト使用QUERY_RFC1738.enc_の場合typeはPHP_QUERY_RFC 1738では、符号化は、»RFC 1738規格およびアプリケーション/x-www-form-urlencodedメディアタイプで符号化され、スペースはプラス記号(+)に符号化される.enc_typeがPHP_QUERY_RFC 3986である場合、»RFC 3986に従って符号化され、スペースはパーセンテージ符号化(%20)される.
parse_str URLのクエリー文字列(query string)を複数の変数に解析し、現在の役割ドメインvoid parse_str(string$str[,array&$arr])に設定します.
説明
str
入力文字列
arr
2番目の変数arrが設定されている場合、変数は配列要素としてこの配列に格納され、代わりになります.
parse_urlはURLを解析し、そのコンポーネントmixed parse_を返します.url(string $url [,int $component= -1] )
この関数は、URLを解析し、URLに表示されるさまざまなコンポーネントを含む関連配列を返します.この関数は、指定されたURLの正当性を検証するために使用されるものではなく、以下に示す部分に分解されます.不完全なURLも受け入れられ、parse_url()は、できるだけ正確に解析しようとします.
説明
url
解析するURL.無効な文字が使用されます_と呼びます.
component
指定PHP_URL_SCHEMEPHP_URL_HOSTPHP_URL_PORTPHP_URL_USERPHP_URL_PASSPHP_URL_PATHPHP_URL_QUERYPHP_URL_FRAGMENTのいずれかがURLで指定された部分を取得するstringはPHP_として指定する以外はURL_PORT後にintegerの値を返します.残りはstringを返します.
サンプルコード
1,
'b'=>2,
'c'=>array('c1'=>array('c1k'=>'c1v'),'c2'),
'd'
);
$origin_str=http_build_query($arr,'_');
print_r($origin_str);
/*
a=1&b=2&c%5Bc1%5D%5Bc1k%5D=c1v&c%5B0%5D=c2&_0=d
*/
$str=urldecode($origin_str);
print_r($str);
/*
a=1&b=2&c[c1][c1k]=c1v&c[0]=c2&_0=d
*/
parse_str($str);
print_r($a);echo "
";// $a
print_r($b);echo "
";
print_r($c);
print_r($_0);
/*
1
2
Array
(
[c1] => Array
(
[c1k] => c1v
)
[0] => c2
)
d
*/
parse_str($str,$str_output);
print_r($str_output);
/*
Array
(
[a] => 1
[b] => 2
[c] => Array
(
[c1] => Array
(
[c1k] => c1v
)
[0] => c2
)
[_0] => d
)
*/
?>