홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
php 정규식 종류별 문자 추출
8년 전
 

홍길1234동abc입!!_#니다

라는 문구가 있다고 했을때 해당 문구에서



홍길동입니다

1234

abc

!!_#



를 각각 추출해내는 함수이다.

euckr을 기준으로 작성된 함수이며 euckr에서는 한글 패턴의 추출이 어려운 관계로

UTF-8로 전환하여 변환하는 형태이다.

핵심은 1 한글,2 영문 ,4 숫자 ,8 특수기호로 명시하고 처리하는 식이다.

  

========= 내용 ==============



$msg = "홍길1234동abc입!!_#니다";



function getMsgArr($msg) {
   $convMsg = mb_convert_encoding($msg, "UTF-8", "EUC-KR");
   $resultArr = array();



   // 1: 한글
   $pattern = '/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[1] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 2: 영문
   $pattern = '/[a-zA-Z]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[2] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 4: 숫자
   $pattern = '/[0-9]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[4] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 8: 특수기호
   $pattern = '/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}0-9a-zA-Z]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[8] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 3: 한글 + 영문
   $pattern = '/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}a-zA-Z]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[3] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 5: 한글 + 숫자
   $pattern = '/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}0-9]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[5] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 9: 한글 + 특수기호
   $pattern = '/[^0-9a-zA-Z]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[9] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 6: 영문 + 숫자
   $pattern = '/[0-9a-zA-Z]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[6] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 10: 영문 + 특수기호
   $pattern = '/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}0-9]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[10] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 12: 숫자 + 특수기호
   $pattern = '/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}a-zA-Z]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[12] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 7: 한글 + 영문 + 숫자
   $pattern = '/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}0-9a-zA-Z]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[7] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 11: 한글 + 영어 + 특수기호
   $pattern = '/[^0-9]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[11] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 14: 영문 + 숫자 + 특수기호
   $pattern = '/[^\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]+/u';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[14] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 13: 한글 + 숫자 + 특수기호
   $pattern = '/[^a-zA-Z]/';
   preg_match_all($pattern,$convMsg,$match);
   $resultArr[13] = mb_convert_encoding(implode('',$match[0]),"EUC-KR", "UTF-8");



   // 15: 한글 + 영문 + 숫자 + 특수기호
   $resultArr[15] = $convMsg;

   return $resultArr;
  }
추천추천 : 312 추천 목록
번호 제목
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.