Мне нужно удалить некоторые эмодзи из строки, используя формат \ uXXXXX.
$msg = "\u200b\ud83d\ude48 This is an example\nAnother line \u2199\u2199";
Все пробные и найденные функции не работают. Я не знаю, если это проблема функции или моей строки ...
пример используемой функции:
preg_replace('/[[:^print:]]/', '', $string);
или:
function remove_emoji($string) {
// Match Emoticons
$regex_emoticons = '/[\x{1F600}-\x{1F64F}]/u';
$clear_string = preg_replace($regex_emoticons, '', $string);
// Match Miscellaneous Symbols and Pictographs
$regex_symbols = '/[\x{1F300}-\x{1F5FF}]/u';
$clear_string = preg_replace($regex_symbols, '', $clear_string);
// Match Transport And Map Symbols
$regex_transport = '/[\x{1F680}-\x{1F6FF}]/u';
$clear_string = preg_replace($regex_transport, '', $clear_string);
// Match Miscellaneous Symbols
$regex_misc = '/[\x{2600}-\x{26FF}]/u';
$clear_string = preg_replace($regex_misc, '', $clear_string);
// Match Dingbats
$regex_dingbats = '/[\x{2700}-\x{27BF}]/u';
$clear_string = preg_replace($regex_dingbats, '', $clear_string);
return $clear_string;
}
Пробовал заменив \ x на \ u внутри функции, но я получаю ошибку .... Кто-нибудь может объяснить мне, почему функции не работают?