현재 위치: > 최신 기사 목록> PHP에서 문자열을 분할하기 위해 익스플로잇 기능을 사용하는 기본 사용

PHP에서 문자열을 분할하기 위해 익스플로잇 기능을 사용하는 기본 사용

gitbox 2025-05-26

1. exploit () 함수의 기본 구문

array explode(string $separator, string $string, int $limit = PHP_INT_MAX)

  • $ 분리기 : 지정된 구분 기자 (문자열 유형)는 원래 문자열을 분할 할 위치를 결정하는 데 사용됩니다.

  • $ String : 분할 해야하는 원래 문자열;

  • $ 한도 (선택 사항) : 배열로 반환 된 요소 수를 제한하는 데 사용됩니다. 이 매개 변수가 설정된 경우 :

    • 양수가되고 $ 한도 요소를 넘지 않으며 마지막 요소에는 나머지 문자열이 포함됩니다.

    • 음수 인 경우 지정된 요소 수는 끝에서 무시됩니다.

    • 0이 반환되면 빈 배열 (PHP 8.0.0부터 시작).


2. exploit ()의 기본 사용 예제

예 1 : 쉼표와 별도의 문자열

 <?php
$input = "apple,banana,orange";
$result = explode(",", $input);
print_r($result);
?>

산출:

 Array
(
    [0] => apple
    [1] => banana
    [2] => orange
)

이 예제는 쉼표로 구분 된 과일 목록을 단일 문자열 항목 배열로 나누는 방법을 보여줍니다.


예제 2 : 제한된 매개 변수를 사용하십시오

 <?php
$input = "one|two|three|four";
$result = explode("|", $input, 3);
print_r($result);
?>

산출:

 Array
(
    [0] => one
    [1] => two
    [2] => three|four
)

SET $ LIMPEND = 3 , 즉 세 가지 요소 만 생성됩니다. 세 번째 요소에는 나머지 불명예 컨텐츠가 포함됩니다.


예 3 : 처리 경로 문자열

URL 경로 /사용자/프로필/설정이 있고 경로 세그먼트로 분할하려고한다고 가정합니다.

 <?php
$url = "/user/profile/settings";
$parts = explode("/", $url);
print_r($parts);
?>

산출:

 Array
(
    [0] => 
    [1] => user
    [2] => profile
    [3] => settings
)

참고 : 경로는 슬래시로 시작하므로 Exploit () 결과의 첫 번째 요소는 빈 문자열입니다.

Array_Filter ()를 사용하여 NULL 값을 필터링 할 수 있습니다.

 <?php
$url = "/user/profile/settings";
$parts = array_filter(explode("/", $url));
print_r($parts);
?>

3. 실제 예 : 구문 분석 매개 변수 문자열

쿼리 문자열에서 매개 변수를 얻는 경우 : name = john & age = 30 & city = beijing . 먼저 exploit ()를 사용하여 분할 할 수 있습니다.

 <?php
$query = "name=John&age=30&city=Beijing";
$params = explode("&", $query);
$parsed = [];

foreach ($params as $param) {
    list($key, $value) = explode("=", $param);
    $parsed[$key] = $value;
}

print_r($parsed);
?>

산출:

 Array
(
    [name] => John
    [age] => 30
    [city] => Beijing
)

4. 다른 문자열 처리 기능과 함께 사용됩니다

exploit ()는 일반적으로 trim () , array_map () 과 같은 함수와 함께 사용됩니다. 예를 들어, CSV 데이터를 처리 할 때 먼저 공간을 청소해야 할 수도 있습니다.

 <?php
$csv = "Tom, Jerry , Spike ";
$names = array_map('trim', explode(",", $csv));
print_r($names);
?>

산출:

 Array
(
    [0] => Tom
    [1] => Jerry
    [2] => Spike
)

5. 실제 개발에서 exploit ()의 응용 시나리오

  1. CSV 데이터 행을 구문 분석합니다

  2. 결합 된 필드 처리 데이터베이스에서 읽습니다

  3. 규칙에 따라 로그 또는 경로를 슬라이스합니다

  4. 사용자 정의 구성 형식을 분해하십시오

  5. 프로세스 URL 라우팅

예를 들어, 간단한 라우팅 시스템에서는 다음과 같은 URL을 구문 분석 할 수 있습니다.

 <?php
$request = "/article/123";
$segments = array_filter(explode("/", $request));
// gitbox.net 라우팅 처리
if (isset($segments[0]) && $segments[0] === "article") {
    $articleId = $segments[1] ?? null;
    echo "당신은 기사를 방문하고 있습니다ID~을 위한 $articleId 페이지";
}
?>