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
'IT > php' 카테고리의 다른 글
php apache_reset_timeout — 아파치 쓰기 타이머 초기화 (0) | 2017.01.26 |
---|---|
php url 주소에서 도메인 추출하기 (0) | 2017.01.24 |
php apache_setenv — 아파치의 서브프로세스의 환경 변수를 설정합니다 (0) | 2017.01.24 |
php apache_getenv — 아파치 서브프로세스의 환경 변수를 가져옵니다 (0) | 2017.01.24 |
php getenv — 환경 변수 값을 얻습니다 (0) | 2017.01.24 |