Strings substr_replace

(PHP 4, PHP 5, PHP 7, PHP 8)

substr_replace — 문자열의 일부 내에서 텍스트 바꾸기


설명

substr_replace(
    array|string $string,
    array|string $replace,
    array|int $offset,
    array|int|null $length = null
): string|array
                

substr_replace()offset과 (선택적으로) length 매개변수로 구분된 string의 복사본을 replace에 제공된 문자열로 바꿉니다.


매개변수

string
입력 문자열입니다.

문자열 배열이 제공될 수 있으며 이 경우 교체는 각 문자열에서 차례로 발생합니다. 이 경우, replace, offsetlength 매개변수는 각 입력 문자열에 차례로 적용될 스칼라 값으로 제공되거나 배열로 제공될 수 있으며, 이 경우 해당 배열 요소가 각 입력 문자열에 사용됩니다.

replace
대체 문자열입니다.
offset
offset이 음수가 아닌 경우 string에 대한 offset의 오프셋에서 바꾸기가 시작됩니다.

offset이 음수이면 string 끝의 offset 문자에서 교체가 시작됩니다.

length
주어진 값이 양수이면 교체될 string 부분의 길이를 나타냅니다. 음수이면 string 끝에서 대체를 중지할 문자 수를 나타냅니다. 지정하지 않으면 기본적으로 strlen( string )이 됩니다. 즉, string 끝에서 교체를 종료합니다. 물론 length가 0이면 이 함수는 주어진 offset 오프셋에서 stringreplace를 삽입하는 효과가 있습니다.

반환 값

결과 문자열이 반환됩니다. string이 배열이면 배열이 반환됩니다.


변경 로그

버전 설명
8.0.0 length는 이제 nullable입니다.

Examples

예제 #1 간단한 substr_replace() 예제

                  
<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";

/* These two examples replace all of $var with 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";

/* Insert 'bob' right at the beginning of $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";

/* These next two replace 'MNRPQR' in $var with 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";

/* Delete 'MNRPQR' from $var. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>
                  
                

예제 #2 substr_replace()를 사용하여 한 번에 여러 문자열 바꾸기

                  
<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');

// A simple case: replace XXX in each string with YYY.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";

// A more complicated case where each replacement is different.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";

// Replace a different number of characters each time.
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>
                  
                

위의 예는 다음을 출력합니다.

A: YYY; B: YYY; C: YYY
A: AAA; B: BBB; C: CCC
A: AAAXX; B: BBBX; C: CCC
                

메모

참고: 이 함수는 binary-safe입니다.


기타