템플릿을 위한 간단한 부분 캡쳐[BLOCK] 과 [ENDBLOCK] 으로 둘러 쌓인 곳을 캡쳐하여, test_1 이라는 이름으로 반복문을 돌릴 경우 입니다. test_1 은 변수명이 되는게 가장 수월하겠죠. 해당 변수의 배열만큼 반복문을 돌리는 것입니다. 이렇게 구문이 확연히 나눠져 있다면 캡쳐하는 것은 그리 어렵지 않습니다. 반대로 HTML 같이 여러 태그가 중첩되거나 중복되게 되면 복잡해 지죠. 왜냐하면 HTML 에서 끝나는 테그는 단지 테그명만 명시되어 있어 알기가 어렵습니다. 테그와 짝을 이루는 것이 어떤 테그인지 알기 위해서는 HTML 테그들을 분석해봐야 합니다. $str = " [BLOCK test_1] TEST [ENDBLOCK test_1] "; preg_match('!\[(BLOCK)[\..
테그 사이 내용을 확인하여 만족하는 경우에만 결과로 잡기 테그 사이의 내용에 테그가 없는 문자열만 찾고 싶을 경우, (?(?=)) 형태의 IF 문을 사용해서 정규식을 짤 수 있습니다. 형식: (?(?=pattern)true pattern|false pattern) 예: abcdefghijklmn (?(?=abcd)abcd|efgh) 위 예는 간단히 설명하기 위한 것이고 실제 저런 경우 사용되지는 않습니다. IF 형식의 문법으로 식이 맞을 경우 참에 해당하는 패턴을, 맞지 않을 경우 거짓에 해당하는 패턴을 실행하게 됩니다. 이 외에도 (?!pattern) , (?을 참고하세요. $string = Array( [0] => TEST [1] => adkj ) ); 정규식을 보면 조건절이 있고, 참일 경우 아무런..
문자열 중에서 한글/한자/일어 찾는 정규식 정규식으로 이런 문자열을 체크하기 위해서는 유니코드 UTF-8로 인코딩 되어야 합니다. 인코딩 되어있지 않다면 iconv 를 통해 UTF-8로 변경하면 됩니다. 예제를 위해 한글/한자/일어를 검색을 통해 랜덤으로 뽑아왔습니다. ;; 이 예제에서는 영어나 특수문자를 제외한, '한글', '한자', '일어' 만 추출하는 것을 보여줍니다. 한자는 한국, 중국, 일본 공통으로 사용하는 것을 모은 것이라 일본에서 사용하는 한자를 검출할때는 '한자'와 '일어'를 같이 사용하면 됩니다. 유니코드는 한,중,일 한자를 통합해서 정의해서 따로 구분하려면 유니코드 목록을 참고하셔서 직접 구분하셔야 합니다. -_-; 한가지 주의할 점은 유니코드 문자열을 체크할 경우 u 옵션을 반드시 ..
제가 PHP-SCHOOL 에서 정규식에 대해 답변했던 것들을 모아봤습니다. 이메일 유효성 검사 이메일, URL 유효성 검사 정규식은 많이 알려져 있고, 정규표현식을 공부할때 예제로 많이 사용하는 것이긴 합니다. 혹시 필요하신분이 있으실까 하여 적어봅니다. $string = 'test@test.com'; preg_match( '!^[\w\d\_\.\-]+\@((?:[\w\d\_\-]+\.)+(?:[\w]+))$!i', trim($string), $match ); print_r($match); 아이피의 각 자리수를 3자리에 맞춰 0을 채워넣기 여기서 주의해야할 건 치환해야할 문자열에 따옴표의 사용입니다. PHP에서는 " " (쌍따옴표) 안에 있는 변수는 해석하기 때문에 $1의 경우 오류가 날수 있습니다. 그..
- Total
- Today
- Yesterday
- 이브 온라인
- 보안정보
- ActionScript3.0
- 해킹
- flash
- Utilities
- 게임
- dust 514
- 플래시
- 스크린샷
- 정보
- 스타크래프트2
- 팁
- PCRE
- 자바스크립트
- 보안
- 팁&정보
- 블레이드앤소울
- game
- 유틸리티
- php
- JavaScript
- It
- eve online
- as3
- 정규표현식
- 세비지2
- 정규식
- 프로그래밍
- 액션스크립트3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |