str_replace() 함수는 주어진 문자열 내에서 검색 문자열의 모든 항목을 대체 문자열로 바꾸는 데 사용됩니다. 대소문자 구분하여 일치하는 모든 항목을 바꿉니다.
str_replace() 함수 정의
str_replace(mixed $search, mixed $replace, mixed $subject, int &$count = null): string|array|null
$search : 검색할 대상을 입력합니다. 문자열 또는 문자열의 배열이 들어올 수 있습니다.
$replace : $search를 통해 검색된 대상을 변경할 값을 입력합니다. $search와 마찬가지로 문자열 또는 문자열의 배열이 들어올 수 있습니다.
$subject : 변경 대상 문자열 또는 배열을 입력합니다.
$count : 교체 횟수로 저장될 변수입니다. (선택사항)
결과 값
$subject가 문자열인 경우 str_replace() 함수는 모두 $replace로 변경된 문자열을 반환합니다.
$subject가 배열인 경우 모든 항목에 대해 $replace로 변경된 배열을 반환합니다.
예제1 : 기본사용
$string = "Hello, World!";
$newString = str_replace("World", "Universe", $string);
echo $newString;
Hello, Universe!
"Hello, World!" 문자열에서 "World"를 "Universe"로 변경되었습니다.
예제2 : 다중 검색
$string = "The cat is black. The cat is cute.";
$newString = str_replace("cat", "dog", $string);
echo $newString;
The dog is black. The dog is cute.
위 문자열에서 "cat"에 해당하는 부분을 "dog"로 전부 변경되었습니다.
예제3 : 교체 횟수 파라미터
$string = "Hello, hello, hello!";
$newString = str_replace("hello", "hey", $string, $count);
echo $newString . "\n";
echo "Number of replacements: " . $count;
hey, hey, hey!
Number of replacements: 3
문자열에서 "hello"에 해당하는 부분을 "hey"로 전부 변경되었습니다.
$count 매개변수를 추가하여 변경된 교체 횟수를 저장합니다. 위 예제에서는 "Hello"문자열이 "hey"로 3번 변경되었으므로, $count는 3이 출력됩니다.
예제4 : 배열 형식 파라미터
$string = "abc123abc456abc";
$newString = str_replace(["abc", "123"], ["xyz", "999"], $string);
echo $newString;
xyz999xyz456xyz
위 예제에서는 $search, $replace 파라미터를 배열형식으로 입력했습니다.
"abc"가 검색된 문자열을 "xyz"로 전부 변경하고, "123"이 검색된 문자열을 "999"로 변경합니다.
$string = ["Hello", "World"];
$newString = str_replace("l", "L", $string);
print_r($newString);
Array
(
[0] => HeLLo
[1] => WorLd
)
위 예제에서는 $subject 파라미터가 배열형식으로 입력되었습니다. 위에서 설명한 내용과 같이 반환값은 $subject와 동일한 배열형식으로 반환됩니다.
["Hello", "World"] 배열에서 소문자 "l"을 대문자 "L"로 변경합니다.
예제5 : 공백 처리
$string = "Lorem ipsum dolor sit amet";
$newString = str_replace(" ", "-", $string);
echo $newString;
Lorem-ipsum-dolor-sit-amet
문자열 중 공백에 해당하는 모든 부분을 "-"으로 모두 변경합니다.
'IT > PHP' 카테고리의 다른 글
PHP strtolower(), strtoupper() 함수 (0) | 2023.06.25 |
---|---|
PHP substr() 함수 (0) | 2023.06.22 |
PHP strpos() 함수 (0) | 2023.06.21 |
php strlen() 함수 (0) | 2023.06.16 |