메뉴 건너뛰기

프로그램언어

조회 수 227 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

HP로 만들어진 오래된 홈페이지에 PHP 버전을 올릴 경우 여러가지 문제가 발생할 수 있습니다. 파라미터를 변수에 자동으로 할당하는 register_globals 옵션 문제, <? 태그를 사용하는 short_open_tag 옵션 문제, 버전이 올라가면서 지원하지 않는 함수가 생기는 문제 등입니다.

 

register_globals 옵션은 PHP 5.3.0에서 DEPRECATED 되었고, PHP 5.4.0 부터는 제거되어서 사용할 수 없습니다.

 

이번에 알아볼 것은 버전이 올라가면서 지원되지 않는 함수들 중 가장 많이 나타나는 몇가지를 알아볼 것입니다.

 

PHP 버전을 올리고 실행을 해보면 지원되지 않는 함수로 인해 다음과 같은 에러 메세지가 보여질 수 있습니다.

 

Call to undefined function eregi()

 

PHP 5.3.0 부터 DEPRECATED 되었고, PHP 7.0.0 버전에서는 완전히 없어진 많이 쓰이는 함수들 로 다음과 같은 것들이 있습니다.

 

- ereg() : 정규식을 사용하여 문자열 매칭 여부를 판단합니다.(대소문자 구분)

- ereg_replace() : 정규식을 사용하여 문자열을 대치합니다.(대소문자 구분)

- eregi() : 정규식을 사용하여 문자열 매칭 여부를 판단합니다.(대소문자 구분하지 않음)

- eregi_replace() : 정규식을 사용하여 문자열을 대치합니다.(대소문자 구분하지 않음)

- split() : 문자열을 구분하로 분리합니다.

 

1. preg_match()는 ereg()와 eregi()를 대체합니다.

 

먼저 기존 함수의 사용법을 보겠습니다. 아래 예는 $subject가 소문자 abc로 시작하는지 체크합니다. 대소문자를 구분하지 않고 체크하려면 eregi() 함수를 사용하면 되겠습니다.

 

<?php 
	$subject = "abcdef"; 
	$pattern = '^abc'; 
	if(ereg($pattern, $subject) { 
		echo("match"); 
	} 
?>

 

ereg()를 대체하는 새로운 함수인 preg_match() 의 사용법 입니다. 정규식 패턴을 만드는데 차이점이 보입니다. 

패턴의 시작과 끝에 '/' 를 넣어야 합니다.

대소문자를 구분하지 않고 비교하려면 패턴의 끝에 "i" 문자를 입력합니다. 

$pattern = '/^abc/i'; 가 되겠습니다.

 

<?php 
	$subject = "abcdef";
	$pattern = '/^abc/'; 
	if(preg_match($pattern, $subject) { 
		echo("match"); 
	} 
?>

2. preg_replace()는 ereg_replace()와 eregi_replace() 를 대체합니다. 

주의할 점을 위의 preg_match() 에서와 동일합니다.

정규식 패턴의 앞과 뒤에 '/' 를 추가하고, 대소문자를 구분하지 않을때는 패턴 끝에 "i" 를 추가합니다.

 

<?php
	$subject = "abcdef";
	$pattern = '/^ABC/i'; 
	$subject = preg_replace($pattern, '', $subject); 
	echo($subject); 
?>

 

3. explode() 는 split() 함수의 문자열 분리 기능을 대체할 수 있습니다.

 

<?php
	$daytime = split(" ", "2017-02-02 14:30 235"); 
	print_r($daytime); 

	$daytime = explode(" ", "2017-02-02 14:30 235"); 
	print_r($daytime); 
?>

 

 

  1. PHP 버전 숨기기 ( php version hide )

    Date2024.02.07 Views69
    Read More
  2. php 암호화 복호화 , 간단한 암호화

    Date2023.01.12 Views358
    Read More
  3. PHP 디렉토리안에 파일 리스트 가져오기

    Date2023.01.12 Views231
    Read More
  4. 그누보드 https 보안서버 연결시 오류

    Date2023.01.12 Views280
    Read More
  5. php 두날짜 사이의 모든날짜 배열 만들기

    Date2023.01.12 Views178
    Read More
  6. php 간단 심플한 달력만들기

    Date2023.01.12 Views241
    Read More
  7. 간단한 캡차파일 만들기 captcha

    Date2023.01.12 Views260
    Read More
  8. PHP str_replace php 문자열치환

    Date2023.01.12 Views197
    Read More
  9. curl을 이용하여 post, get 방식 으로 데이터 전송하기

    Date2023.01.12 Views328
    Read More
  10. php 이미지 리사이징 image resizing

    Date2023.01.12 Views258
    Read More
  11. PHP ZIP 압축파일 만들기

    Date2023.01.12 Views251
    Read More
  12. ereg(), eregi(), ereg_replace(), eregi_replace(), split() 대체

    Date2023.01.12 Views227
    Read More
  13. PHP 브라우저 알아내기

    Date2023.01.12 Views253
    Read More
  14. PHP SimpleHtmlDom Parser로 HTML 파싱하기

    Date2023.01.12 Views216
    Read More
  15. 웹페이지 파싱

    Date2023.01.12 Views225
    Read More
  16. 폴더 용량 체크

    Date2023.01.12 Views218
    Read More
  17. 코드 생성 하기

    Date2023.01.12 Views213
    Read More
  18. PHP웹 보안 취약점 TOP5(웹해킹)

    Date2023.01.12 Views292
    Read More
  19. PHP 하위 디렉토리 포함 디렉토리 리스트 출력

    Date2023.01.12 Views236
    Read More
  20. PHP 파일 업로드 FORM 처리

    Date2023.01.12 Views229
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved