2015-02-03 7 views
1

저는 PHP를 처음 사용하고 preg_replace에 문제가 있습니다. $minYear는 그 안에 문자열 now-6을 가지고,이 코드 줄 전에preg_replace가 작동하지 않습니다.

$minYear = preg_replace("/(\s)|(now)/g", "", $minYear); 

: 나는 PHP 버전 5.3.2를 사용하고 있는데 나는이 코드 줄이있다.

이 코드 줄 뒤에 $minYear은 빈 문자열입니다. 내가 가지고 있다고 기대하고있다 -6

정규식 패턴에서 대괄호를 사용하거나 사용하지 않고 시도했다.

내가 뭘 잘못하고 있니?

+0

참고 : 5.3.2 꽤 오래되었습니다. 전체 5.3 분기는 eol입니다. 데비안이나 rhel (또는 보안 업그레이드를 제공하는 다른 배포판)을 사용하고 있지 않다면 업그레이드를 강력하게 제안 할 것입니다. – Rangad

+0

불행히도 내 통제 불능 – Graham

답변

3

대체는 항상 전역이므로 PHP 정규 표현식에는 g 플래그가 없습니다. 정규 표현식에서 불필요한 그룹을 제거 할 수도 있습니다.

당신은 사용할 수 있습니다

$minYear = preg_replace('/\s|now/', "", $minYear); // -6 
+1

아 - 감사합니다. – Graham