2012-07-11 2 views
0

나는 PHP에 익숙하지 않다. 나는 다음과 같은 코드를 가지고 : 잘 작동하지만 오류 추천하지 않습니다 받고있어하는ereg_replace와 그 대체 방법의 부작용

$this->image["format"] = ereg_replace(".*\.(.*)$", "\\1", $imgfile); 
$this->image["outputformat"] = ereg_replace(".*\.(.*)$", "\\1", $save); 

: 기능 ereg_replace을(). php에서 deprecated 함수를 사용하여 부작용이 있는지 묻고 싶습니다. 다른 대체품이 있다면. 나는 preg를 시도했지만 그것도 작동하지 않습니다. 미리 감사드립니다 :)

+0

슬래시 또한'$ ext = array_pop (explode ('.', $ file_name))' –

+0

을 사용하여 파일 확장자를 풀 수 있지만 그것을 preg_replace로 변환하려고합니다. 교체 후 결과 코드를 알려주십시오. – zzai

+1

정규 표현식에 구분 기호를 추가하는 문제 일 수 있습니다. 'preg_replace ('/.*\.(.*)$/', '\\ 1', $ imgfile)'을 시도 했습니까? –

답변

2

deprecated 함수를 사용하는 것은 나쁜 습관입니다. 사용할 수는 있지만 더 이상 지원되지 않으며 이후 버전의 PHP에서는 나타나지 않을 수 있으므로 제안하지 않습니다.

귀하의 교체를 대신 당신이 의견에 질문에 대답

EDIT (내가 어쩌면 당신이 뭔가 잘못하고 있었다, 당신은 이미 그것을 시도 그것을 가지고 있지만, 문서를 체크 아웃) preg_replace를 사용한다 함수의

다음과 같이 표시됩니다

$this->image["format"] = preg_replace("/.*\.(.*)$/", "\\1", $imgfile); 
$this->image["outputformat"] = preg_replace("/.*\.(.*)$/", "\\1", $save); 

참고 그 패턴은 시작하고 앞으로로 끝나는 /.*\.(.*)$/

+0

당신은 제게 preg_replace로 변환 한 후에 대체 할 것이 무엇인지 정확하게 보여줄 수 있습니까? – zzai

+0

일부 코드로 내 대답을 업데이트했습니다. – Darvex