Language/php
[생활코딩] 13.5 치환 1 ~ 13.6 치환 2
migrationArc
2021. 5. 18. 22:35
생활코딩 php 강좌
13. PHP와 정규표현식
13.5 치환 1
- preg_replace(pattern, replacement, 변경 대상)
- patterun 을 검색한 다음 replacement 로 치환을 수행
- 변경된 값을 return
- 참고
<?php
$string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
echo preg_replace($pattern, $replacement, $string);
?>
// April1,2003
- "April 15, 2003" -> "April1,2003"
- "/(\w+) (\d+), (\d+)/i"
- "(\w+)" : 문자열, 1번 index 에 저장
- " " : 공백 문자
- "(\d+)" : digit 문자열, 2번 index 에 저장
- "," : "," 문자
- " " : 공백 문자
- "(\d+)" : digit 문자열, 3번 index 에 저장
- "${1}1,$3"
- "${1}" : 1번 index 하위 표현식 == April
- "," : "," 문자
- "$3" : 3번 index 하위 표현식 == 2003
13.6 치환 2
<?php
$string = 'The quick brown fox jumped over the lazy dog.';
$patterns = array();
$patterns[0] = '/quick/';
$patterns[1] = '/brown/';
$patterns[2] = '/fox/';
$replacements = array();
$replacements[2] = 'bear';
$replacements[1] = 'black';
$replacements[0] = 'slow';
echo preg_replace($patterns, $replacements, $string);
?>
// The bear bloack slow jumped over the lazy dog.
- "quick" -> "slow"
- "brown" -> "black"
- "fox" -> "bear"
<?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
- $replace
- "\3/\4/\1\2" = 5/27/1999
- "\3": subPattern0[3]
- "/" : "/"
- "\4": subPatterns0[4]
- "/" : "/"
- "\1" :subPatterns0[1]
- "\2": subPatterns0[2]
- "$\1 =" = "$startDate ="
- "$": "$"
- "\1": subPattern1[1]
- "\3/\4/\1\2" = 5/27/1999
이 글의 모든 사진과 내용의 출처는 생활코딩에 있음을 알려드립니다.
생활코딩 - PHP 기본 A 부터 Z 까지 - 인프런 | 학습 페이지
지식을 나누면 반드시 나에게 돌아옵니다. 인프런을 통해 나의 지식에 가치를 부여하세요....
www.inflearn.com