IT/php

php 정규식 이미지 추출 호스트 추출

조원태 2017. 1. 24. 00:50
반응형

php 정규식 이미지 추출 호스트 추출

1. 정규식의미

정규 표현식은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어이다.



2. 정규식 주요기호

 


 + : 최소 1회 이상 나오는 경우

$ : 마지막 글자

* : 최소 0회 이상 나오는 경우

\ : 특수문자, 특수문자 앞에서 특수문자 사용을 제외 

? : 최소 0회~최대 1회 나오는 경우

. : 엔터를 제외한 모든 글자

i{n} : i가 연속으로 n회 나오는 경우

| : OR

i{n1, n2} : i가 n1회~n2회 나오는 경우

[] : 문자종류, 문자범위

i{n,} : i가 n회 이상 나오는 경우

()  : 문자를 그룹으로 묶음

\d : 숫자

 \w : 문자와 숫자

 \s : 공백문자


3. 정규식과 관련있는 PHP 내장함수 사용법

preg_replace("패턴" , "바꿀 패턴" , "바꿀 문장");

preg_match("패턴","추출할 문장","결과 배열");

preg_match_all("패턴", "추출할 문장", "결과 배열");

preg_split("패턴", "추출할 문장");


preg_match - 첫번째 매치가 일어나면 실행을 중지한다. (즉, 최대 매치횟수는 1회)

preg_match_all - 전체 매치된 횟수를 반환하며, 오류시 FALSE를 반환한다.



4. 정규식과 PHP내장함수를 이용한 예제


6. img 태그 추출 / img 태그 src 추출

preg_match("/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i", $str, $matches);

preg_match_all("/<img[^>]*src=[\"']?([^>\"']+)[\"']?[^>]*>/i", $str, $matches);

 

7. 호스트 추출

preg_match("/^(http:\/\/)?([^\/]+)/i", "http://www.naver.com/index.php", $matches);

$host = $matches[2];



5. 정규식 테스트할 수 있는 사이트

http://www.regexr.com/

http://www.phpliveregex.com/p/6ik

반응형