이 기사의 예에서는 php5.3에서 ereg() 함수가 더 이상 사용되지 않음 오류 문제를 해결하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.
1. 질문:
PHP 5.3 ereg()는 정상적으로 사용할 수 없습니다. "ereg() 함수가 더 이상 사용되지 않습니다."라는 메시지는 함수가 업그레이드되었으며 규칙을 적용하려면 //를 사용하여 preg_match해야 하기 때문입니다. , php5.3도 ereg를 사용합니다. 리듬이 포기되었습니다.
PHP 5.3 ereg()는 정상적으로 사용할 수 없으며 "ereg() 함수는 더 이상 사용되지 않습니다."라는 메시지가 표시됩니다.
문제의 근본 원인은 PHP에 두 가지 정규 표현식 방법이 있다는 것입니다. 하나는 posix이고 다른 하나는 perl입니다. PHP6은 posix 정규 표현식 방법을 폐지할 예정이므로 preg_match가 나중에 추가되었습니다. 이 문제에 대한 해결책은 매우 간단합니다. ereg 앞에 필터 프롬프트 정보 기호를 추가하면 됩니다. ereg()를 @ereg()로 변경하면 됩니다. 이는 프롬프트 정보를 차단하지만 여전히 근본적인 문제는 해결되지 않습니다. PHP 버전 5.2 이전에는 ereg를 정상적으로 사용했습니다. PHP 5.3 이후에는 ereg 대신 preg_match를 사용해야 합니다. 그래서 이렇게 되어야 합니다.
원본: ereg("^[0-9]*$",$page)는 다음과 같습니다: preg_match("/^[0-9]*$/",$page)
특별 알림: posix와 perl의 명백한 표현 차이점은 슬래시 추가 여부이므로 ereg와 비교할 때 후자는 정규 표현식 앞뒤에 두 개의 "/" 기호를 추가하는데 이는 필수입니다.
예:
변경 전:
보충: 이 문제는 php5.2 이전 버전에서는 발생하지 않습니다.
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.