Skip to Content
Go Back
안형우

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

📌 워드프레스, 답답한 빌더와 플러그인 대신 시원하게 커스터마징하기(강의) 2023-01-15
📌 아무도 말하지 않는 PHP의 좋은 점 2018-10-13
📌 유지보수하기 쉬운 CSS 전략(슬라이드) 2016-12-20
📌 워드프레스 테마에서 템플릿 파일 매칭 순서 2013-05-12

[php] preg_match에서 괄호 검색에 이름 붙이기

괄호 안에 ?<city> 형식으로 적으면 $matches[‘city’] 형식으로 받아서 사용할 수 있다.

php에서 preg_matchpreg_match_all을 사용해 정규식으로 문자열을 검색할 때, 괄호 안에 있는 것들을 따로 배열에 담아 주게 된다. 이 때 괄호 안에서 맨 앞에 ?<city> 형식으로 적어 주게 되면 배열에 키값이 숫자가 아니라 city 같은 문자열로 담기게 된다. 아래 예제 참고.

$address = 'One Infinite Loop, Cupertino 95014';
$cityZipCodeRegex = '/^[^,]+,s*(?<city>.+?)s*(?<zipCode>d{5})$/';
preg_match($cityZipCodeRegex, $address, $matches);

saveCityZipCode($matches['city'], $matches['zipCode']);

문법이 기억나지 않아서 검색해 보면 잘 나오질 않아서 짜증이 나곤 했는데, 마침 Clean Code PHP의 Use explanatory variables(설명적 변수 사용)에서 관련 내용을 발견하게 돼 이번엔 그냥 내 블로그에 저장해야지 생각하게 됐다. 위의 예제 코드는 Clean Code PHP에서 가져온 것이다.

안녕하세요. 14년차 풀스택 웹개발자 안형우입니다. 이 블로그에서는 WordPress, PHP, CSS, 사용성, 리눅스 서버 등 풀스택 웹개발에서 마주하는 다양한 문제 상황과 해결책, 필요한 개념들을 다룹니다. 👉 소개


작업물

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다