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
,offset
및length
매개변수는 각 입력 문자열에 차례로 적용될 스칼라 값으로 제공되거나 배열로 제공될 수 있으며, 이 경우 해당 배열 요소가 각 입력 문자열에 사용됩니다. replace
- 대체 문자열입니다.
offset
offset
이 음수가 아닌 경우string
에 대한offset
의 오프셋에서 바꾸기가 시작됩니다.offset
이 음수이면string
끝의offset
문자에서 교체가 시작됩니다.length
- 주어진 값이 양수이면 교체될
string
부분의 길이를 나타냅니다. 음수이면string
끝에서 대체를 중지할 문자 수를 나타냅니다. 지정하지 않으면 기본적으로 strlen(string
)이 됩니다. 즉,string
끝에서 교체를 종료합니다. 물론length
가 0이면 이 함수는 주어진offset
오프셋에서string
에replace
를 삽입하는 효과가 있습니다.
반환 값
결과 문자열이 반환됩니다. 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입니다.
기타
- str_replace() - 검색 문자열의 모든 항목을 대체 문자열로 바꿉니다.
- substr() - 문자열의 일부 반환
- 문자에 의한 문자열 접근 및 수정