반응형
php str_replace 메서드, 문자열 바꾸기
형식은 다음과 같습니다
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
search에서 찾은 목표값, 즉 needle입니다.하나의 배열로 복수의 타겟을 지정할 수 있다.
replace search의 치환값.배열은 다중 치환을 지정하는 데 사용될 수 있다.
subject에서 대체 배열이나 문자열을 실행합니다.바로 haystack이다.만약 subject가 배열이라면, subject를 대체하고 값을 되돌려줍니다.배열.
count를 지정하면 그 값은 치환 발생 횟수로 설정됩니다.총 몇 번의 교체가 발생했는지。
설명:
search와 replace가 배열이면 str_replace() subject를 매핑으로 바꿉니다.
replace 값이 search 값보다 작을 경우, 여분의 양은 비어 있습니다문자열로 진행됩니다.
search가 배열이고 replace가 문자열이면 search의 각 요소의 교체는 항상 이 문자열을 사용합니다.
str_replace 치환 방법은 대소문자를 구분한다.
예:
<?php
$str = 'abcdefgh';
echo str_replace('abc', '123', $str); // 123defgh
$str = '123456';
$search = array(1, 2, 3, 4, 5, 6);
$replace = array('a', 'b', 'c', 'd', 'f', 'g');
echo str_replace($search, $replace, $str); // abcdefg
$arr = array('abc','bac','cba');
$result = str_replace('b', 'B', $arr, $count);
print_r($result); // Array ( [0] => aBc [1] => Bac [2] => cBa )
echo $count; // 3 총 3번 교체했습니다
?>
str_replace를 사용하면 문자열을 바꾸는 것이 편리하지만, search와 일치하는 모든 값은 replace 값으로 바뀝니다.이 방법은 지정된 횟수만큼 교체하려고 하면 실현될 수 없다.
예: user_order_list를 user/order_list로 대체합니다
<?php
$str = 'user_order_list';
echo str_replace('_', '/', $str); // user/order/list
?>
지정한 횟수만큼 메서드를 바꿉니다. 정규 preg_replace 메서드를 사용할 수 있습니다
<?php
/**
* 문자열에 대해 지정된 횟수 바꾸기
* @param Mixed $search 목표값 찾기
* @param Mixed $replace 값 바꾸기
* @param Mixed $subject 대체 문자열/ 배열 실행
* @param Int $limit 교체 허용 횟수, 기본값은 -1, 횟수 제한 없음
* @return Mixed
*/
function str_replace_limit($search, $replace, $subject, $limit=-1){
if(is_array($search)){
foreach($search as $k=>$v){
$search[$k] = '`'. preg_quote($search[$k], '`'). '`';
}
}else{
$search = '`'. preg_quote($search, '`'). '`';
}
return preg_replace($search, $replace, $subject, $limit);
}
?>
예:
<?php
$str = 'user_order_list';
echo str_replace_limit('_', '/', $str, 1); // user/order_list
$arr = array('abbc','bbac','cbba');
$result = str_replace_limit('b', 'B', $arr, 1);
print_r($result); // Array ( [0] => aBbc [1] => Bbac [2] => cBba )
?>
반응형
'개발 꿀팁 > PHP' 카테고리의 다른 글
php 문법 기술 (0) | 2022.08.24 |
---|---|
mongodb 위치 찾기 (0) | 2022.08.24 |
php 두 지점 좌표 거리 계산 (0) | 2022.08.23 |
php 자주 사용하는 사용자 정의 방법 (0) | 2022.08.23 |
php 헤더로 사용자 정의 데이터 보내기 (0) | 2022.08.23 |