본문 바로가기

dev

[php] preg_replace

반응형

특정 문자열을 치환해야하는데..

str_replace() ..만으로 문자열을 치환하기 곤란한 상황이 있다. 예를 들어 대상문자에 치환문자가 중복등록되어 있다는 경우, 치환문자중의 마지막 문자열만 치환하길 원하는 경우엔 다음과 같이 하면됨.

<?
$str = '김은표...박지현...';
$find = '...';
$replace = '!';
$result = preg_replace(strrev("/$find/"),strrev($replace),strrev($str),1);
echo strrev($result);
?>

결과 :

김은표...박지현!


preg_replace : Perform a regular expression search and replace / 문자열에서 패턴을 추출하거나 바꿀수 있음

http://php.net/manual/en/function.preg-replace.php

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )


<?
$str = "abcdef123456";
echo preg_replace('/[a-z]/', '*', $text);
?>

결과 :

******123456


+ 관련 함수

- str_replace : http://php.net/manual/kr/function.str-replace.php

- strrev : http://php.net/manual/en/function.strrev.php







반응형