메뉴 건너뛰기

프로그램언어

조회 수 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. CodeIgniter에서 PHPExcel 사용하기

  2. No Image 26Mar
    by
    2021/03/26 Views 558 

    csv파일 다루기. fputcsv(), fgetcsv()

  3. No Image 28Sep
    by
    2020/09/28 Views 1255 

    cUrl를 이용한 json 데이타 주고 받기

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

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

  5. No Image 26Mar
    by
    2021/03/26 Views 253 

    current() next() key() 그외 배열관련 함수

  6. No Image 26Mar
    by
    2021/03/26 Views 241 

    date() 함수의 출력 형식

  7. No Image 05Oct
    by
    2020/10/05 Views 431 

    DAUM 지도 API 좌표→주소(주소->좌표) 변환

  8. No Image 14Apr
    by
    2015/04/14 Views 21246 

    DB 내용을 화면에 출력(이중 for 문)

  9. No Image 28Sep
    by
    2018/09/28 Views 6085 

    DB 연동 4단 셀렉트 박스

  10. No Image 27Feb
    by
    2014/02/27 Views 28332 

    DB상의 많은 파일을 한꺼번에 다운받기

  11. No Image 16Jan
    by
    2019/01/16 Views 1850 

    dddotag - 허용하지 않는 태그 걸러내기

  12. No Image 26Mar
    by
    2014/03/26 Views 19535 

    Drag/Drop HTML elements

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

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

  14. No Image 23Dec
    by
    2016/12/23 Views 19943 

    explode - 문자열 나눔

  15. No Image 19Jul
    by
    2018/07/19 Views 6049 

    fcm 푸시 알림 php 테스트

  16. No Image 23Dec
    by
    2016/12/23 Views 18117 

    fileatime 파일에 최종적으로 접근한 시간을 반환

  17. No Image 14Apr
    by
    2015/04/14 Views 20297 

    fopen 파일 열기

  18. No Image 27Feb
    by
    2014/02/27 Views 21086 

    FPDF - PHP로 PDF 만들기

  19. No Image 19Jul
    by
    2018/07/19 Views 5582 

    gcm 푸시 알림 php 테스트

  20. No Image 23Dec
    by
    2016/12/23 Views 17989 

    gd_info 사용 가능한 GD 라이브러리에 대한 정보를 배열로 반환

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

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved