대상 문자열에서 특정 문자열을 지정한 문자열로 치환한다.
subject에서 search를 찾아 replace로 치환하여 반환한다.
// "a blue angel of Hyper world"에서 "angel"을 찾아 "seagull"로 치환한다.
echo str_replace("angel", "seagull", "a blue angel of Hyper world"); //a blue seagull of Hyper world
?>
subject가 배열일 경우 배열내의 모든 원소에서 search를 찾아 replace로 치환한후 치환한 값을 갖는 배열을 반환한다.
<?
$subject = array("Windows Application", "XML Application", "Web Application", "Wireless Application");
// $subject 배열의 각 원소에서 문자열 "Application"을 찾아 "Apps"로 바꾼다.
$arr = str_replace("Application", "Apps", $subject);
print_r($arr);
/*
Array
(
[0] => Windows Apps
[1] => XML Apps
[2] => Web Apps
[3] => Wireless Apps
)
*/
?>
subject뿐만 아니라 search와 replace 역시 배열로 지정이 가능한다.
이럴 경우에는 subject의 원소에서 search의 원소를 찾아 search 원소와 같은 위치에 있는 replace 배열원소로 치환하게 된다.
replace 배열의 길이가 search 배열의 길이 보다 작을 경우 검색된 search 원소가 replace 원소에 없을 수 있는데 이 경우에는 빈 문자열로 치환한 값을 반환하게 된다.
<?
$search = array("XML", "XSL", "Wireless", ".NET", "Web");
$replace = array("xml", "xsl", "wireless");
$subject = array("Windows Application", "XML Application", "Web Application", "Wireless Application");
// "XML"은 "xml"로, "XSL"은 "xsl"로, "Wireless"는 "wireless"로, ".NET"과 "Web"은 ""로 각각 치환된다.
$arr = str_replace($search, $replace, $subject);
print_r($arr);
/*
Array
(
[0] => Windows Application
[1] => xml Application
[2] => Application
[3] => wireless Application
)
*/
?>
subject가 배열이고 search가 배열이지만 replace가 문자열인 경우는 search로 검색한 모든 문자열을 replace 문자열로 치환하여 반환한다.
한편 str_replace의 마지막 인자 count는 치환에 성공한 개수를 반환하는 역할을 한다.
<?
$search = array("XML", "XSL", "Wireless", ".NET", "Web");
$replace = "New Technology";
$subject = array("Windows Application", "XML Application", "Web Application", "Wireless Application");
// $count 인자는 str_replace() 함수에 의해 실제로 변경된 원소의 개수를 반환한다.
$arr = str_replace($search, $replace, $subject, $count);
print_r($arr);
/*
Array
(
[0] => Windows Application
[1] => New Technology Application
[2] => New Technology Application
[3] => New Technology Application
)
*/
echo $count."<br />"; //3
$subject2 = "windows App, XML App, Web App, Wireless App, mobile App, offline App, XSL App, .NET App";
$arr = str_replace($search, $replace, $subject2, $num);
print_r($arr);
//windows App, New Technology App, New Technology App, New Technology App, mobile App, offline App, New Technology App, New Technology App
echo $num; //5
?>
'PHP 주요레퍼런스 > 문자열 처리 함수' 카테고리의 다른 글
trim (0) | 2011.08.02 |
---|---|
str_ireplace (0) | 2011.08.02 |
strtr (0) | 2011.08.02 |
strrev (0) | 2011.08.02 |
ucfirst / ucwords (0) | 2011.08.02 |