2012-05-09 4 views
0

가능한 복제를 사용하여 PHP 용) (5.3/4 마이그레이션는 preg_match하기 :
Converting ereg expressions to pregEREG() 정규 표현식을

나의 계획 : 각 PHP 파일을 열고 의해 하나의 행을 읽어 하나. ereg() 함수가있는 경우 preg_match()로 대체하고 패턴 인수는 슬래시 '/'로 묶습니다.

파일을 읽는 동안 정규식을 사용하여 'ereg'대신 'preg_match'및 'pattern'을 'slashes (/)로 묶은 패턴'으로 바꿀 수 있습니까?

$test = ereg('\.([^\.]*$)', $file_src_name, $extension); // Old PHP 

이 가능한 경우
//PHP migration fix 

//$test = ereg('\.([^\.]*$)', $file_src_name, $extension); // Old PHP 

$test = preg_match('/\.([^\.]*$)/', $file_src_name, $extension); // PHP 5.3/4 

에, 나는 폴더에이를 줄 수 있으며 PHP 5.3/4와 호환되는 모든 파일을 변환합니다.

참고 : 예전의 코드는 내가 어떤 편집자의 발견을 사용하지 않는 이유는,이 주석으로하고

+0

교체해야 당신이 많은 regexps '에를 * *이 있습니까? 그렇지 않다면 직접 스크립트를 작성하는 것보다 수동으로 스크립트를 작성하는 것이 더 빠를 것입니다. – ThiefMaster

+0

@ThiefMaster : 예, 프로젝트가 너무 오래되어 ereg, eregi, ereg_replace가 너무 많아서 분할 함수가 사용되었습니다. PHP_CodeSniffer로 모든 호환되지 않는 코드를 확인했습니다. – San

+0

preg_replace ("/ \ bereg [\ s] * \ (/) preg_match (\"/ $ 1/\ "", $ myLine); – San

답변

0
$test =preg_match('/\.([^\.]*)$/i', $file_src_name, $matches); 
$extension = $matches[1]; 
+0

이것이 OP에 어떻게 도움이됩니까? –

+0

죄송합니다. 'OP'의 의미는 무엇입니까? – San

+0

@San 당신은 OP입니다 :) –