2009-12-18 2 views
1

eregi($1,$2)eregi($1,$2)regex : eregi에서 preg_match로 PHP 코드 변환하기

변환 할 수있는 적절한 정규식을 찾으려면 노력하고 있어요 거기에() 함수가있을 경우 고려해야 할 그들은 한 번 더 나타날 수 있습니다. 누구든지 적절한 정규 표현식을 제공 할 수 있습니까?

thanks

+1

나는 우리가 정말 처음 몇 가지 예를 보지 않고 많은 도움을 줄 수 있다는 의심이 정규식 트릭을 할 것입니다. 파서가이 작업에 더 적합하다고 생각하지만 정규식을 사용하여이 작업을 수행하려는 이유가있을 수 있습니다. 그러나 불행히도 간단한 드롭 인 교체가 될 것으로는 생각하지 않습니다. – Dustin

답변

1

당신은 코드를 구문 분석하는 정규 표현식을 사용하지 않습니다.

당신은 파서를 사용하고 싶습니다. eregideprecated 때문에

+0

난 그냥 내 코드에서 다른 하나 개의 기능을 대체 할 수있는 방법을 찾으려면, 파서를 사용하여 상관하지 않습니다. 어떤 종류의 파서를 사용할 수 있습니까? 내가 코드로 다시 변환 할 수에서 – ufk

+0

확인 .. 그래서 토큰에 PHP 코드를 변환하는 토크 나이 확장으로 PHP와. – ufk

1

당신은 소스 코드를 수정하려고합니까?

$source= <<<STR 
eregi(\$1, \$2); 
eregi('hello', 'world'); 
STR; 

$source2= preg_replace("/eregi\(['\"]*([^\'\"),]+)['\"]*,\s*['\"]*([^'\"),]+)['\"]*\)/", 'preg_match("/$1/i", "$2")', $source); 

var_dump($source2); 
+0

불행하게도이 정규식 다음 코드 줄을 작동하지 않습니다 감사 : (! eregi ('윈도우 9', php_uname())) '경우 {' – ufk