Eğer çalıştı preg_replace('/\x{2007}/u', '', $stringWithFigureSpaces);
? Var
U+2007
FIGURE SPACE a> için unicode codepoint olduğunu.
\x{FFFF}
-sözdizimi hakkında bilgi içerir PHP ile benzer bir unicode-regex konuyla ilgili my answer bakın.
Eğer olmayan çalışma hakkında comment ilgili - benim makinede mükemmel aşağıdaki işler:
$ php -a
Interactive shell
php > $str = "a\xe2\x80\x87b"; // \xe2\x80\x87 is the FIGURE SPACE
php > echo preg_replace('/\x{2007}/u', '_', $str); // \x{2007} is the PCRE unicode codepoint notation for the U+2007 codepoint
a_b
Eğer PHP versiyonu nedir? Eğer karakter FIGURE SPACE Tüm olduğuna emin misin? Eğer dize aşağıdaki parçasını çalıştırabilir miyim?
for ($i = 0; $i < strlen($str); $i++) {
printf('%x ', ord($str[$i]));
}
Benim test dize bu çıkışlar
61 e2 80 87 62
a |U+2007| b
EDIT OP Yorumlarınız sonra:
\xe2\x80\xa9
bir PARAGRAPH SEPARATOR which is unicode codepoint U+2029
, böylece kodu olmalıdır preg_replace('/\x{2029}/u', '', $stringWithUglyCharacter);
olduğunu