원문 : http://www.sitehis.com/spb3/sboard3/read.php?db=talk&uid=167
개인적으로 perl-레귤라보다 posix-레귤라 함수를 매우 좋아하는 터라,
충격이 큰데요.
추가 자세한 정보가 있으신 분들은 댓글이나 트위터 @sitehis 로 자료 주시면 감사하겠습니다.
PHP 언어에서 POSIX 레귤러함수를
5.3 버전에 deprecated(사용하지말것을경고)하고.
6.0 버전에서는 아예 삭제하겠다는 공지가 올라왔습니다.
처음 듣고 말도 안된다고 하였지만,
소문이아니고 perl 레귤러 함수로 고쳐 써야 하는 것으로 최종 확인하였습니다.
- ereg -> preg_match
- eregi -> preg_match ( i modifier )
- ereg_replace -> preg_replace
- ereg_replace -> preg_replace ( i modifier)
- split -> preg_split
- spliti -> preg_split ( i modifier )
- sql_regcase() -> 없음 알아서..
자세한 안내는 다음에서 확인하실 수 있습니다.
- 공지글 http://php.net/manual/en/migration53.deprecated.php
- http://devthought.com/tumble/2009/06/fix-ereg-is-deprecated-errors-in-php-53/
하나씩 정검하여 봅시다.
급하니깐 E_DEPRECATED 에러메세지를 우선 안 나오게 할려면,
- error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
- 혹은 error_reporting(E_ALL ^E_DEPRECATED);
- 혹은 @ini_set(‘display_errors’, 0);
고쳐버리겠다고요?? 그러면 다음 자동으로 고쳐주는 프로그램을 이용해보세요
ereg()
- ereg(‘\.([^\.]*$)’, $this->file_src_name, $extension);
- preg_match(‘/\.([^\.]*$)/’, $this->file_src_name, $extension);
- 레귤러 표현식에 / … / 로 감싸는 것으로 우선 해결
eregi()
- eregi(‘\.([^\.]*$)’, $this->file_src_name, $extension);
- preg_match(‘/\.([^\.]*$)/i’, $this->file_src_name, $extension);
- 레귤러 표현식에 / … /i 로 감싸는 것으로 우선 해결
ereg_replace()
- ereg_replace(‘[^A-Za-z0-9_]’, ”, $str);
- preg_replace(‘/[^A-Za-z0-9_]/’, ”, $str);
- 복잡한 것은 이렇게~
- $str_new = preg_replace(‘/’ . preg_quote($word) . ‘/’, ”, $str_old);
- 간단하게 이런 방법도 ( / 대신에 별로 사용않하는 # 혹은 `(틸드)를 사용해서 )
- $str_new = preg_replace(“#$word#’, ”, $str_old);
- $str_new = preg_replace(“`$word`”, ”, $str_old);
eregi_replace()
- ereg_replace(‘[^A-Za-z0-9_]’, ”, $str);
- preg_replace(‘/[^A-Za-z0-9_]/i’, ”, $str);
- 복잡한 것은 이렇게~
- $str_new = preg_replace(‘/’ . preg_quote($word) . ‘/i’, ”, $str_old);
관련 게시물(http://www.sitehis.com)
- Linux CentOS : http://www.sitehis.com/spb3/sboard3/read.php?db=talk&cateuid=5&uid=271
- Apache : http://www.sitehis.com/spb3/sboard3/read.php?db=talk&cateuid=5&uid=272
- MySQL : http://www.sitehis.com/spb3/sboard3/read.php?db=talk&cateuid=5&uid=273
- MySQL my.cnf 튜닝 설정 이슈
http://www.sitehis.com/spb3/sboard3/read.php?db=talk&cateuid=5&uid=152 - PHP : http://www.sitehis.com/spb3/sboard3/read.php?db=talk&cateuid=4&uid=274
- php ereg/eregi/reg_replace/.. deprecated 문제
http://www.sitehis.com/spb3/sboard3/read.php?db=talk&cateuid=4&uid=167
Comments