홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
PHP 5.3.0 에서 사라진 함수들 대체
6년 전
PHP  5.3.0  버전  이상에서  사라져버린  비운의  함수들이  있습니다.  바로  POSIX  Regex  함수들입니다.  대부분  많이들  써왔던  함수이기에,  저도  그렇고  아직까지  많은분들이  5.3.0  이상  버전으로  업데이트를  하지  못하고  있을  듯  합니다.

하지만,  PHP  6.0.0  이상버전부터  완전히  사라질  이  함수들을  언제까지고  끌고갈  수  없기때문에  대체함수(?)로  바꾸는  방법을  간단하게  설명할려고  합니다.

split함수
split은  특정패턴으로  문자열을  잘라주는  함수입니다.
예를  들어,  $arr  =  split(',',  '아빠,엄마');  라고  한다면  $arr  에는  Array('아빠','엄마');  가  되는  것이지요.
이함수는  5.3.0  이상버전부터  explode함수로  대체되어야  합니다.  사용방법은  똑같습니다만,  split함수가  정규식을  지원했다면  explode는  하지  않는다라는  것이  다릅니다.


ereg함수
ereg계열의  함수는  정규식으로  문자열을  찾거나,  찾은문자열을  바꾸거나  하는  함수입니다.
ereg_replace($patten,  $replacement,  $string);  형태로  쓰입니다.
이  함수는  5.3.0  이상부터  preg_replace로  바꾸어야합니다.  두개의  함수의  인자순서는  같지만,  ereg함수와  preg함수는  정규식을  표현하는  방법이  약간  틀립니다.

$str  =  ereg_replace('[a-z]+',  'A',  $str);
ereg함수가  위와  같이  정규식을  적었다면,  preg함수는  아래와  같이  적습니다.
$str  =  preg_replace('/[a-z]+/',  'A',  $str);

그리고  ereg계열이  대소문자를  구분하는  것과  구분하지  않는  것이  ereg,  eregi  두가지  함수로  구분되었다면,  preg는  하나의  함수로  처리됩니다.  예를  들어  위의  preg_replace  함수의  정규식에서  대소문자를  구분하지  않겠다고  한다면,  아래와  같이  i가  추가됩니다.
$str  =  preg_replace('/[a-z]+/i',  'A',  $str);

그  외에  문자열을  검색하던  ereg함수는  preg_match함수로  대체되어야  합니다.
$str  =  'abcedf';
if  (ereg('[abc]'.  $str,  $matches)  ==  true)  print_r($matches);
뭐  저런식으로  ereg함수를  사용하듯이  preg_match함수도  사용하면  되지만  정규식  입력부분은  역시  약간  다릅니다.

$str  =  'abc123abc';
if  (preg_match('/([a-z]+)([0-9]+)/',  $str,  $matches)  ==  true)  print_r($matches);
위의  처럼  3번째  인자에  검색된  패턴이  배열로  담기는  인자를  넣습니다.
preg_match가  true가  된다면,  $matches안에는  일치된  문자열이  배열로  들어가게  되죠.  정규식에  (  )  가  없다면  $matches[0]에  일치된  전체패턴이  들어가게  되겠고,  (  )가  있다면  $matches[0]  이후의  $matches[1]부터  (  )  안의  일치부분만  빼올  수  있습니다.
추천추천 : 245 추천 목록
번호 제목
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.