상세 컨텐츠

본문 제목

[PHP] 정규식 preg_match

프로그래밍

by 2hansoul 2021. 9. 24. 17:06

본문

반응형

PHP에서는 preg_match함수를 사용하여 정규식 표현을 작성합니다.

 

preg_match

첫 번째 인수 : 정규식 표현 작성.

두 번째 인수 : 검색 대상 문자열.

세 번째 인수 : 배열 변수 반환. 패턴 매치에서 매칭된 값을 배열로 저장.

반환값 : 매칭에 성공하면 1, 실패하면 0이 반환

 

샘플

<?php
$text='hansol';
$reg= preg_match("/han/",$text,$matches);
var_dump($matches);

echo "$reg";
?>

han이라는 문자열을 대문자 소문자 관계없이 매칭한 값을 취득하는 정규식 표현입니다.

결과는 다음과 같습니다.

 

결과

array(1) { [0]=> string(3) "han" } 1

 

preg_match_all

preg_match은 매칭되는 값을 찾게 되면 그 시점에서 검색이 종료 됩니다.

하지만 매칭되는 모든 값을 취득하고 싶은 경우에는 적합하지 않기 때문에 매칭되는 모든 값을 취득하고 싶을 때에는 preg_match_all 함수를 사용합니다.

 

샘플

<?php
$text='my name is hansol i want to go Home home';
$reg= preg_match_all("/home/i",$text,$matches);
var_dump($matches);

echo "$reg";
?>

 

결과 

array(1) { [0]=> array(2) { [0]=> string(4) "Home" [1]=> string(4) "home" } } 2

 

검색 결과에는 Home과 home에 매칭되어 2개의 값을 배열로 취득하였습니다.

 

preg_replace

preg_replace는 검색 문자열과 매칭되는 값이 있으면 치환을 시켜주는 함수입니다.

첫 번째 인수 : 정규식 표현 작성.

두 번째 인수 : 치환 하고 싶은 문자 설정.

세 번째 인수 : 대상 문자열.

네 번째 인수 : 생략 가능. 하나만 치환 하고 싶은 경우 1을 설정.

 

샘플

<?php
$text='my name is hansol';
$reg=preg_replace('/is(.*)/i','is $3 leehansol',$text);
echo "$reg";
?>

 

결과 

my name is leehansol

반응형

'프로그래밍' 카테고리의 다른 글

Linux passwd 변경  (0) 2021.11.03
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!  (0) 2021.11.02
[PHP] session_start()  (0) 2021.09.23
EditPlus VMware FTP 연결  (0) 2021.08.30
[PHP] php apache 연동  (0) 2021.08.20

관련글 더보기

댓글 영역