Обработка онлайн-текста часто требует удаления смайлов, особенно в таких случаях, как комментарии в Instagram. В этой статье рассматривается решение такой проблемы с использованием функции PHP preg_replace для эффективного удаления смайлов из заданного текста.
Функция removeEmoji использует серию регулярных выражений для сопоставления и удаления смайлов из входного текста. Каждое выражение предназначено для определенных диапазонов Юникода, которые представляют различные категории смайлов, включая смайлики, символы, транспортные символы, дингбаты и т. д.
Вот пример функции:
public static function removeEmoji($text) {
$clean_text = "";
// Match Emoticons
$regexEmoticons = '/[\x{1F600}-\x{1F64F}]/u';
$clean_text = preg_replace($regexEmoticons, '', $text);
// Match Miscellaneous Symbols and Pictographs
$regexSymbols = '/[\x{1F300}-\x{1F5FF}]/u';
$clean_text = preg_replace($regexSymbols, '', $clean_text);
// Match Transport And Map Symbols
$regexTransport = '/[\x{1F680}-\x{1F6FF}]/u';
$clean_text = preg_replace($regexTransport, '', $clean_text);
// Match Miscellaneous Symbols
$regexMisc = '/[\x{2600}-\x{26FF}]/u';
$clean_text = preg_replace($regexMisc, '', $clean_text);
// Match Dingbats
$regexDingbats = '/[\x{2700}-\x{27BF}]/u';
$clean_text = preg_replace($regexDingbats, '', $clean_text);
return $clean_text;
}
Обратите внимание, что эта функция не удаляет все смайлы полностью, поскольку существует множество вариантов. Тем не менее, он обеспечивает комплексное решение для большинства распространенных случаев.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3