2011-04-20 7 views
2

누군가가 나를 비난하는 PHP 코드를 변환하는 데 도움을 줄 수 있는지 궁금합니다. 나는 다음에 변환 할 때PHP eregi를 preg_match로 변환하는 데 도움이 있습니다.

eregi("<text>(.*)TYPE[ \r\n]*(OF|or)[ \r\n]*REPORTING[ \r\n]*PERSON",$string,$outp); 

가 :

preg_match("/<text>(.*)TYPE[ \r\n]*(OF|or)[ \r\n]*REPORTING[ \r\n]*PERSON/i",$string,$outp); 

그것은 아무것도 일치하지

는 여기 변환하려고 한 줄입니다. 원래의 eregi 함수는 잘 작동합니다.

+0

나는 누구든지 당신을 위해 그것을 할 것입니다. 그러나 괄약근이되지 않도록 표현을 분할하여 하나씩 변환하는 것이 좋습니다. –

+0

정규식 디버깅 요구 사항을 확인하려면 http://refiddle.com/을 확인하십시오. :) –

답변

2

정규식 끝에 /is 플래그가 필요합니다.

preg_ 함수가 .* 인 줄 바꿈과 일치하지 않는 이유는 이전 ereg 함수가 줄 바꿈을 기본값으로 수행하기 때문입니다.

그렇지 않으면 정규식이 PCRE와 변경되지 않습니다.

관련 문제