웹 개발에서 URL (균일 리소스 로케이터)은 특정 리소스를 찾는 키워드 문자열입니다. 일반적으로 사용되는 서버 측 언어로서 PHP는 종종 URL을 구문 분석, 매개 변수 얻기, 스 플라이 싱 URL 등과 같은 URL 관련 데이터 유형에 대한 처리 및 작동을 포함합니다.이 기사는 PHP에서 URL을 처리하기위한 실제 방법을 체계적으로 도입하고 이러한 기술을 쉽게 숙달 할 수 있도록 코드 예제를 제공합니다.
PHP의 내장 함수 parse_url () 는 프로토콜 (스키마), 호스트 (호스트), 경로 (경로) 등과 같은 다양한 구성 요소를 포함하는 연관 배열로 URL을 분해 할 수 있습니다.
<?php
$url = 'http://example.com/path/file.php?param1=value1¶m2=value2';
$parsed_url = parse_url($url);
// 출력 분석 결과
print_r($parsed_url);
?>
출력 예 :
Array
(
[scheme] => http
[host] => example.com
[path] => /path/file.php
[query] => param1=value1¶m2=value2
)
PHP의 글로벌 배열 $ _get 을 통해 URL에서 쿼리 매개 변수와 해당 값을 직접 얻을 수 있습니다.
예를 들어, 현재 URL이 http://example.com/file.php?param1=value1¶m2=Value2 라고 가정합니다
<?php
// 얻다URL매개 변수
$param1 = $_GET['param1'];
$param2 = $_GET['param2'];
<p>// 输出매개 변수<br>
echo "param1: $param1<br>";<br>
echo "param2: $param2<br>";<br>
?>
출력 결과 :
param1: value1
param2: value2
PHP의 http_build_query () 함수는 연관 배열을 URL 매개 변수 문자열로 변환 할 수 있고 동시에 매개 변수 값을 urlencode () 로 인코딩하여 URL 보안을 보장 할 수 있습니다.
<?php
// 定义매개 변수数组
$params = array(
'param1' => 'value1',
'param2' => 'value2',
);
<p>// 스 플라이 싱URL<br>
$url = '<a rel="noopener" target="_new" class="" href="http://example.com/file.php">http://example.com/file.php</a>?' . http_build_query($params);</p>
<p>// 输出스 플라이 싱结果<br>
echo $url;<br>
?>
출력 결과 :
http://example.com/file.php?param1=value1¶m2=value2
parse_str ()를 사용하여 URL 쿼리 매개 변수를 배열로 구문 분석 할 수 있습니다. 배열을 수정 한 후 http_build_query () 로 URL 쿼리 문자열을 재구성하여 매개 변수 수정을 실현할 수 있습니다.
<?php
$url = 'http://example.com/file.php?param1=value1¶m2=value2';
<p>// 분석URL매개 변수<br>
parse_str(parse_url($url, PHP_URL_QUERY), $params);</p>
<p>// 修改매개 변수<br>
$params['param2'] = 'newvalue2';</p>
<p>// 重新스 플라이 싱URL<br>
$new_url = parse_url($url, PHP_URL_PATH) . '?' . http_build_query($params);</p>
<p>// 출력 수정URL<br>
echo $new_url;<br>
?>
출력 결과 :
/file.php?param1=value1¶m2=newvalue2
이 기사에서는 URL을 구문 분석, URL 매개 변수 얻기, URL 스 플라이싱 및 매개 변수 수정을 포함하여 PHP에서 URL 관련 데이터 유형을 처리하고 조작하기위한 다양한 실용적인 방법을 소개합니다. 이러한 기술을 마스터하면 웹 개발의 효율성을 향상시킬뿐만 아니라 웹 사이트의 사용자 경험을 향상시킬 수 있습니다. 개발자는 URL 관련 데이터를 더 잘 관리하고 조작하기 위해 프로젝트에 이러한 방법을 유연하게 적용하는 것이 좋습니다.