PHP에서 문자열을 다룰 때 특정 단어나 구문을 다른 내용으로 바꿔야 하는 경우가 자주 있습니다. 이럴 때 유용하게 사용할 수 있는 것이 바로 str_replace() 함수입니다.
str_replace() 함수는 문자열 안에서 지정한 값을 찾아 다른 값으로 교체하는 역할을 합니다.
참고: 이 함수는 대소문자를 구분합니다. 따라서 'Amit'을 검색할 때 'amit'은 일치하지 않으므로 주의해야 합니다.
문법(Syntax)
str_replace(find, replace, str, count)
매개변수(Parameters)
find − 검색할 값(찾고자 하는 문자열 또는 배열)
replace − find로 찾은 값을 대체할 문자열 또는 배열
str − 검색 대상이 되는 원본 문자열 또는 배열
count − (선택 사항) 실제로 수행된 치환 횟수를 저장하는 변수
반환값(Return)
str_replace() 함수는 치환이 완료된 문자열 또는 배열을 반환합니다. 입력값이 배열이면 배열이 반환되고, 문자열이면 문자열이 반환됩니다.
예제 1: 기본적인 문자열 치환
다음은 문자열에서 특정 단어를 다른 단어로 교체하는 간단한 예제입니다.
<?php
$str = "I am Amit";
$res = str_replace("Amit", "David", $str);
echo $res;
?>실행 결과
I am David
위 코드에서 'Amit'이라는 단어가 'David'로 성공적으로 교체된 것을 확인할 수 있습니다.
예제 2: 배열 요소 치환 및 치환 횟수 확인
str_replace() 함수는 배열에도 적용할 수 있으며, 네 번째 매개변수인 count를 활용하면 몇 번의 치환이 발생했는지 알 수 있습니다.
<?php
$myArr = array("one", "two", "three");
print_r(str_replace("three", "four", $myArr, $c));
echo "<br>" . "치환 횟수 = $c";
?>실행 결과
Array (
[0] => one
[1] => two
[2] => four
)
치환 횟수 = 1'three'가 'four'로 한 번 교체되었으며, count 변수에는 치환이 발생한 횟수인 1이 저장됩니다.
마무리
str_replace() 함수는 PHP에서 가장 많이 사용되는 문자열 처리 함수 중 하나입니다. 대소문자를 구분한다는 점만 유의하면, 문자열뿐 아니라 배열에도 손쉽게 적용할 수 있어 다양한 상황에서 활용도가 높습니다. 대소문자를 구분하지 않고 치환하고 싶다면 str_ireplace() 함수를 사용하는 것도 좋은 방법입니다.