Как удалить символы UTF-32? - PullRequest
0 голосов
/ 01 апреля 2019

Мне нужно INSERT немного текста в mysql из PHP, который содержит UTF-32 эмодзи. Есть несколько методов для преобразования этих смайликов в UTF-8, например

$emoji = mb_convert_encoding($emoji, 'UTF-32', 'UTF-8');

Вместо преобразования мне просто нужно удалить все эти смайлики, чтобы получить чистый текст.

1 Ответ

1 голос
/ 01 апреля 2019

Один из вариантов - просто

$result = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $string);

. Этот код удаляет все символы в шестнадцатеричных диапазонах 0-31 и 128-255, оставляя только шестнадцатеричные символы 32-127 в результирующей строке

...