테스트 서버에서 제대로 작동하는 다음 정규 표현식이 있지만 호스트 된 서버에서 빈 문자열 만 반환합니다.테스트 및 호스팅 서버의 PHP PCRE 차이점
$text = preg_replace('~[^\\pL\d]+~u', $use, $text);
는 지금이 유니 코드 속성 지원이 활성화 컴파일되지 않는 PCRE의 호스팅 서버 버전으로 내려 오는 확신 해요.
이이 내 서버 :
PCRE version 7.8 2008-09-05
Compiled with
UTF-8 support
Unicode properties support
Newline sequence is LF
\R matches all Unicode newlines
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Default recursion depth limit = 10000000
Match recursion uses stack
은 호스팅 서버 :
PCRE version 4.5 01-December-2003
Compiled with
UTF-8 support
Newline character is LF
Internal link size = 2
POSIX malloc threshold = 10
Default match limit = 10000000
Match recursion uses stack
이 또한주의 호스팅 서버의 버전이 (같은 버전의 PHP를 컴파일 할 것을 다음과 같이 두 가지 버전의 차이점은 반대)는 꽤 오래되었다.
은 무엇 그러나 나를 혼란, 내 서버에 PHP에서 실행할 때이 정규 표현식은 잘 작동하지만 pcretest이
re> ~[^\\pL\d]+~u
** Unknown option 'u'
와 명령 줄에서 두 서버 모두 실패한다는 것입니다.
그래서, 유니 코드 속성이 없기 때문에 호스팅 서버에서 정규 표현식이 실패합니까? 아니면 제가 놓친 다른 것이 있습니까?
감사합니다. Gaz.