메뉴 건너뛰기

프로그램언어

조회 수 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. No Image 07Feb
    by
    2024/02/07 Views 65 

    PHP 버전 숨기기 ( php version hide )

  2. No Image 12Jan
    by
    2023/01/12 Views 358 

    php 암호화 복호화 , 간단한 암호화

  3. No Image 12Jan
    by
    2023/01/12 Views 231 

    PHP 디렉토리안에 파일 리스트 가져오기

  4. No Image 12Jan
    by
    2023/01/12 Views 280 

    그누보드 https 보안서버 연결시 오류

  5. No Image 12Jan
    by
    2023/01/12 Views 178 

    php 두날짜 사이의 모든날짜 배열 만들기

  6. php 간단 심플한 달력만들기

  7. 간단한 캡차파일 만들기 captcha

  8. No Image 12Jan
    by
    2023/01/12 Views 197 

    PHP str_replace php 문자열치환

  9. No Image 12Jan
    by
    2023/01/12 Views 328 

    curl을 이용하여 post, get 방식 으로 데이터 전송하기

  10. No Image 12Jan
    by
    2023/01/12 Views 258 

    php 이미지 리사이징 image resizing

  11. No Image 12Jan
    by
    2023/01/12 Views 251 

    PHP ZIP 압축파일 만들기

  12. No Image 12Jan
    by 조쉬
    2023/01/12 Views 227 

    ereg(), eregi(), ereg_replace(), eregi_replace(), split() 대체

  13. No Image 12Jan
    by
    2023/01/12 Views 253 

    PHP 브라우저 알아내기

  14. No Image 12Jan
    by
    2023/01/12 Views 216 

    PHP SimpleHtmlDom Parser로 HTML 파싱하기

  15. No Image 12Jan
    by
    2023/01/12 Views 225 

    웹페이지 파싱

  16. No Image 12Jan
    by
    2023/01/12 Views 216 

    폴더 용량 체크

  17. No Image 12Jan
    by
    2023/01/12 Views 213 

    코드 생성 하기

  18. No Image 12Jan
    by
    2023/01/12 Views 292 

    PHP웹 보안 취약점 TOP5(웹해킹)

  19. No Image 12Jan
    by
    2023/01/12 Views 236 

    PHP 하위 디렉토리 포함 디렉토리 리스트 출력

  20. No Image 12Jan
    by
    2023/01/12 Views 229 

    PHP 파일 업로드 FORM 처리

Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved