Benim test sunucusu üzerinde çalışıyor şu normal ifadeyi var, ama sadece benim barındırılan sunucu boş bir dize döndürür ettik.
$text = preg_replace('~[^\\pL\d]+~u', $use, $text);
Şimdi ben bu aşağı etkin Unicode özellik desteği ile derlenmiş olması değil PCRE'nin barındıran sunucu sürümü geliyor eminim. Aşağıdaki gibi iki versiyonu farklılıklar şunlardır:
Benim sunucu:
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
Sunucu barındırma:
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
Ayrıca sunucu barındırma (aynı sürüm PHP karşı derlenmiş) üzerindeki sürümü oldukça eski olduğunu unutmayın.
Ne beni karıştırıyor olsa da, pcretest ile komut satırından hem de sunucularda başarısız olduğunu
re> ~[^\\pL\d]+~u
** Unknown option 'u'
benim sunucu üzerinde PHP çalıştırdığınızda bu sıradanifade çalışıyor olmasına rağmen.
Yani, benim sorular düzenli ifade, çünkü Unicode özellikleri eksikliği sunucu barındırma başarısız oluyor sanırım? Ya Kaçırdığım başka bir şey var mı?
Thanks all, Gaz.