| [php]원하는 단어를 찾아서 치환 해주는 방법 preg replace |
|
|
 |
10년 전 |
preg_replace()는 subject 인수엣 따라서 배열이나 문자열을 반환합니다.
매치가 발견되면 새 subject 를 반환하고, 그렇지 않으면 변경되지 않은 subject 를 반환합니다. 오류가 발생하면 NULL을 반환합니다.
변경점
버전
설명
5.1.0 count 인수 추가
4.0.4 replacement 인수에 '$n' 형식 추가
4.0.2 limit 인수 추가
예제
Example #1 수가 따라오는 역참조 사용하기
<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>
위 예제의 출력:
April1,2003
Example #2 preg_replace()와 인덱스 배열 사용하기
<?php
$string = 'The quick brown fox jumped over the lazy dog.';
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
?>
위 예제의 출력:
The bear black slow jumped over the lazy dog.
patterns와 replacements를 ksort해서, 원하던 결과를 얻습니다.
<?php
ksort($patterns);
ksort($replacements);
echo preg_replace($patterns, $replacements, $string);
?>
위 예제의 출력:
The slow black bear jumped over the lazy dog.
Example #3 여러 값 치환하기
<?php
$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/',
'/^\s*{(\w+)}\s*=/');
$replace = array ('\3/\4/\1\2', '$\1 =');
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27');
?>
위 예제의 출력:
$startDate = 5/27/1999
Example #4 'e' 변경자 사용하기
<?php
preg_replace("/(<\/?)(\w+)([^>]*>)/e",
"'\\1'.strtoupper('\\2').'\\3'",
$html_body);
?>
위 예제는 입력된 텍스트의 모든 HTML 태그를 대문자로 변경합니다.
Example #5 공백 제거하기
이 예제는 문자열에서 초과된 공백을 제거합니다.
<?php
$str = 'foo o';
$str = preg_replace('/\s\s+/', ' ', $str);
// 이제 'foo o'가 됩니다.
echo $str;
?>
Example #6 count 인수 사용하기
<?php
$count = 0;
echo preg_replace(array('/\d/', '/\s/'), '*', 'xp 4 to', -1, $count);
echo $count; //3
?>
위 예제의 출력:
xp***to
3
|
|
추천 : 582 |
추천
목록
|
|