본문 바로가기

PHP

자주사용하는 정규표현식


<?php
 /* 한글입력체크 한글이 있으면 1 없으면 0 반환 */
 $str = "홍길동";
 if(preg_match("/[\xA1-\xFE][\xA1-\xFE]/", $str)) {
       echo "한글은 입력하실수 없습니다.";
 }
 
 /* 특수문자체크 특수문자가 있으면 1 없으면 0 반환 */
 $str = "^^;";
 if(preg_match("/[ #\&\+\-%@=\/\\\:;,\.'\"\^`~\_|\!\?\*$#<>()\[\]\{\}]/i", $str)) {
       echo "특수문자를 사용하실수 없습니다.";
 }
 
 /* $str 문자열에서 영문 또는 숫자 이여야 하고 4~8자 인지 체크 */
 $str = "abcde12345";
 if(!preg_match("(^[0-9a-zA-Z]{4,8}$)", $str)) {
       echo "영문 또는 숫자 이여야 하고 4자 이상 8자 이하 이여야 합니다.";
 }
 
 /* URL에서 호스트 이름 얻기 */
 preg_match("/^(http:\/\/)?([^\/]+)/i", "http://www.painone.co.kr/index.aspx", $host);
 echo $host[2];
 
 /* 이메일주소체크 */
 $main = "painone7@painone.co.kr";
 if(preg_match("(^[_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+)*@[0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*$)", $main, $str)) {
       echo $str[1];
 } else {
       echo "유효하지 않는 이메일입니다.";
 }
 
 /* url 자동링크걸기 */
 function make_links($str) {
       $search = array("!(\s)((f|ht)tps?:\/\/[a-z0-9~#%@\&:=?+\/\.,_-]+[a-z0-9~#%@\&=?+\/_.;-]+)!i",
                               "!(\s)(www\.[a-z0-9~#%@\&:=?+\/\.,_-]+[a-z0-9~#%@\&=?+\/_.;-]+)!i",
                               "!(\s)([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})!i",
                               "!^((f|ht)tps?:\/\/[a-z0-9~#%@\&:=?+\/\.,_-]+[a-z0-9~#%@\&=?+\/_.;-]+)!i",
                               "!^(www\.[a-z0-9~#%@\&:=?+\/\.,_-]+[a-z0-9~#%@\&=?+\/_.;-]+)!i",
                               "!^([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})!i");
 
       $replace = array("\\1<a href=\"\\2\" target=\"_blank\">\\2</a>",
                               "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>",
                               "\\1<a href=\"mailto:\\2\">\\2</a>",
                               "<a href=\"\\1\" target=\"_blank\">\\1</a>",
                               "<a href=\"http://\\1\" target=\"_blank\">\\1</a>",
                               "<a href=\"mailto:\\1\">\\1</a>");
 
       $urlstr = nl2br(preg_replace($search, $replace, $str));
       return $urlstr;
 }
 
 $str_url = "Dong Jin HomePage http://www.painone.co.kr Go";
 echo make_links($str_url);
?>