기본 콘텐츠로 건너뛰기

윈도우에서 오라클19c 설치 중 ins-35180 오류 발생 시 조치 방법

PHP preg_match()에서 한글 사용 문제.

preg_match()는  PCRE(펄 호환 정규표현식)를 사용합니다.
이것을 이용해서 특정 한글 문자열을 찾으려고 했는데, 못찾더군요...
여기 저기 검색한 끝에 방법을 알았습니다.

해결법: 주어진 문자열의 인코딩이 utf-8(유니코드)로 되어 있어야 하고, 정규표현식 끝에 u 옵션을 붙여주면 됩니다.

예제:
// $_GET['data']에는 "제목: 가져 올 값입니다."가 들어있습니다.
// (EUC-KR로 인코딩 되어있다고 가정합니다.)
$data = $_GET['data'];
$data = iconv('EUC-KR', 'UTF-8', $data);

/* "가져 올 값입니다."를 가져오게 하는 패턴.
 * 반드시 맨 뒤에 u를 붙여주어야 합니다.
 * (펄에서는 호환되지 않습니다.
 *  참고: http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php)
 */
$pattern = '/제목: (.*)/u';

preg_match($pattern, $data, $matches);

echo $matches[1];

참고:

댓글

이 블로그의 인기 게시물

프로세스 강제 종료 불가 시.

특정 프로세스를 강제 종료 하려는데... "실행 중인 작업 인스턴스가 없습니다." 이런 메시지가 나타나면서 종료가 안되는 문제가 있었습니다. 작업 관리자에서 "프로세스 종료", "프로세스 트리 종료" 해봐도 안되고, cmd에서 taskkill 해봐도 안되고... 그런데 이게 부모 프로세스를 종료하면 자동으로 종료가 되네요.. (제 경우에는 Visual Studio가 부모 프로세스였습니다. ㅋ) 참고: DEVPIA http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNo=20&no=917792&ref=917791