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

2013/04/26 13:29


http://blog.naver.com/mylovejam/100186746366

전용뷰어 보기





function ptrtxt($str)
{
preg_match_all('!['
  .'\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}'
  .'\x{2E80}-\x{2EFF}' // 한,중,일 부수 보충
     .'\x{31C0}-\x{31EF}\x{3200}-\x{32FF}'
  .'\x{3400}-\x{4DBF}\x{4E00}-\x{9FBF}\x{F900}-\x{FAFF}'
     .'\x{20000}-\x{2A6DF}\x{2F800}-\x{2FA1F}'// 한,중,일 호환한자
  .'a-zA-Z'
  .'\x{3040}-\x{309F}'// 히라가나
  .'\x{30A0}-\x{30FF}'// 가타카나
     .'\x{31F0}-\x{31FF}'// 가타카나 음성 확장
  .'\s'
    .']+!u', $str, $match);

return implode('',$match[0]);
}

$content = "【CD】Juniel(ジュニエル) - Fall In L";

echo ptrtxt($content);

결과 CDJunielジュニエル Fall In L



=========================================================================================================
\x{1100}-\x{11FF} // 한글 자모 (Hangul Jamo)
\x{3130}-\x{318F} // 호환용 한글 자모 (Hangul Compatibility Jamo)
\x{AC00}-\x{D7AF} // 한글 소리 마디 (Hangul Syllables)

if ( preg_match('/[\x{1100}-\x{11FF}\x{3130}-\x{318F}\x{AC00}-\x{D7AF}]+/u',$변수) ) exit('한글이 포함됨');



=========================================================================================================
문자열이 utf-8로 인코딩되어있다고 가정합니다. 따라서 utf-8을 사용하고 있지 않다면 이 함수를 사용하기 전에 iconv 등을 이용해서 인코딩을 utf-8로 변경해주셔야 합니다.

function onlyHanAlpha($subject) {

$pattern = '/([\xEA-\xED][\x80-\xBF]{2}|[a-zA-Z])+/';
preg_match_all($pattern, $subject, $match);
return implode('', $match[0]);
}

$subject = '한글입니다.옆은 일본어日本最大級일본최대급?!@#!asdf91237  ad한글%#@$하하하^%&({}as23寒한문';
echo $subject;
echo "\n";
echo onlyHanAlpha($subject);


=========================================================================================================
유니코드 특수 문자제거

http://jrgraphix.net/r/Unicode/1720-173F
유니코드에서 Geometric Shapes 와 Miscellaneous Symbols만 막으면 되겠네요
코드는 25A0-25FF 2600-26FF까지

preg_replace('/[\25a0-\25ff][\2600-\26ff\]/', '', $str);


=========================================================================================================
$alphabet = 'A-Za-z';
$hangul_jamo = '\x{1100}-\x{11ff}';
$hangul_compatibility_jamo = '\x{3130}-\x{318f}';
$hangul_syllables = '\x{ac00}-\x{d7af}';

$cnt = preg_match_all('/['.$alphabet.$hangul_jamo.$hangul_compatibility_jamo.$hangul_syllables.']+/u', $utf8text, $matches);

print_r($matches);
추천추천 : 413 추천 목록
번호 제목
3,033
 PHP 정규식 정리
3,032
 PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
3,031
 php 크롤링 또는 파싱 함수, 정규식 모음
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 변경
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.