PHP 정규식 패턴 모음 preg 사용

핸드폰번호 – 넣어서 출력하기

$ohp = preg_replace("/\D/", "", $ohp);
$ohp = preg_replace("/^([0-9]{3})([0-9]*)([0-9]{4})$/", "$1-$2-$3", $ohp);

 

일반전화 – 넣어서 출력하기 함수

function TelephoneFormat($tel, $str) {
	$tel = preg_replace("/\D/", "", $tel);

	if(strlen($tel) == 12) {
		$tel = preg_replace("/^([0-9]{4})([0-9]*)([0-9]{4})$/", "$1{$str}$2{$str}$3", $tel);
	} else if(substr($tel, 0, 2) == "02") {
		$tel = preg_replace("/^([0-9]{2})([0-9]*)([0-9]{4})$/", "$1{$str}$2{$str}$3", $tel);
	} else {
		$tel = preg_replace("/^([0-9]{3})([0-9]*)([0-9]{4})$/", "$1{$str}$2{$str}$3", $tel);
	}

	return $tel;
}
// 함수 추가 하고
$tel = TelephoneFormat($tel, "-"); // 이런식으로

 

입력된 텍스트에서 line-height 스타일 찾아 제거하기 – 응용하면 직접 입력한 스타일을 제어 할 수 있음.

$row[fa_subject] = preg_replace("/line-height[\s]*:[\s]*([0-9]+)px/i", "", $row[fa_subject]);

 

페이징 함수나 페이징 클래스 등으로 만들어져서 나오는 html 을 수정 할수 있는 패턴 – 그누보드용

$list_page = preg_replace("/>\s+</", "><", $list_page);
$list_page = preg_replace("/<span>([0-9]+)<\/span>/", "$1", $list_page);
$list_page = preg_replace("/<span class=\"currentPage\">([0-9]+)<\/span>/", "<strong>$1</strong>", $list_page);
$list_page = preg_replace("/<a href=\"([^\"]+)\">처음<\/a>/i", "<a href=\"$1\" class='prev'>처음</a>", $list_page);
$list_page = preg_replace("/<a href=\"([^\"]+)\">이전<\/a>/i", "<a href=\"$1\" class='prev'>이전</a>", $list_page);
$list_page = preg_replace("/<a href=\"([^\"]+)\">다음<\/a>/i", "<a href=\"$1\" class='next'>다음</a>", $list_page);
$list_page = preg_replace("/<a href=\"([^\"]+)\">마지막<\/a>/i", "<a href=\"$1\" class='next'>마지막</a>", $list_page);

 

그누보드 페이징 링크주소에서 페이지 번호만 불러내서 자바스크립트로 변경하기

$qstr = preg_replace("/&page\=([0-9]+)/", "", $qstr);
$pagelist = get_paging(10, $page, $total_page, "?{$qstr}&page=");
$pagelist = str_replace("&nbsp;", "\n", $pagelist); // 한줄씩 해석을해야 되기 때문에 줄단위로 띄워줌
$pagelist = preg_replace("/href=\'(.+)&page=([0-9]+)\'/", "href=\"Javascript:LoadProfileRight('{$mb_id}', 'album', '$2')\"", $pagelist);

※ 그누보드 common.php 에서 자동으로 자동으로 만들어지는 $qstr 변수에 기본적으로 page= 가 있기 때문에 만약 그대로 사용하면 page 변수가 중복되서 출력이 된다. 그러므로 그전에 $qstr 변수에서 page= 삭제 해야 한다.

 

그누보드 $qstr 변수에서 page 를 뺀다.

$wr_1_qstr = preg_replace("/(&|)page\=([0-9]*)/", "", $qstr);

 

한글, 영문, 숫자일 경우에만 true 출력(한글은 UTF-8 유니코드에서만)

preg_match("/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}a-zA-Z0-9\s]+/u", $split_nick)
//한글패턴 : \x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}

 

 

 

 

CC BY-NC-SA 4.0 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.