diff --git a/README.md b/README.md index 79c9361..99c7dbb 100644 --- a/README.md +++ b/README.md @@ -21,4 +21,9 @@ $textFiltered = EmojiRemover::filter($text); // replace emoji to another string $textReplaced = EmojiRemover::filter($text, 'removed'); // result: "Emoji removed" +``` + +## Testing +```bash +composer test ``` \ No newline at end of file diff --git a/src/EmojiRegex.php b/src/EmojiRegex.php index e9fbb6a..6d88527 100644 --- a/src/EmojiRegex.php +++ b/src/EmojiRegex.php @@ -7,171 +7,216 @@ class EmojiRegex /** * Get the emoji regex * + * @return string + */ + public static function get(): string + { + return '/' . implode('|', static::list()) . '/u'; + } + + /** + * Regex list + * * @return array */ - public static function get(): array + private static function list(): array { + // reference + // https://stackoverflow.com/a/35961386 + return [ - '/[\x{0023}]/u', - '/[\x{002A}]/u', - '/[\x{0030}-\x{0039}]/u', - '/[\x{00A9}]/u', - '/[\x{00AE}]/u', - '/[\x{200D}]/u', - '/[\x{203C}]/u', - '/[\x{2049}]/u', - '/[\x{20E3}]/u', - '/[\x{2122}]/u', - '/[\x{2139}]/u', - '/[\x{2194}-\x{2199}]/u', - '/[\x{21A9}-\x{21AA}]/u', - '/[\x{231A}-\x{231B}]/u', - '/[\x{2328}]/u', - '/[\x{23CF}]/u', - '/[\x{23E9}-\x{23F3}]/u', - '/[\x{23F8}-\x{23FA}]/u', - '/[\x{24C2}]/u', - '/[\x{25AA}-\x{25AB}]/u', - '/[\x{25B6}]/u', - '/[\x{25C0}]/u', - '/[\x{25FB}-\x{25FE}]/u', - '/[\x{2600}-\x{2604}]/u', - '/[\x{260E}]/u', - '/[\x{2611}]/u', - '/[\x{2614}-\x{2615}]/u', - '/[\x{2618}]/u', - '/[\x{261D}]/u', - '/[\x{2620}]/u', - '/[\x{2622}-\x{2623}]/u', - '/[\x{2626}]/u', - '/[\x{262A}]/u', - '/[\x{262E}-\x{262F}]/u', - '/[\x{2638}-\x{263A}]/u', - '/[\x{2640}]/u', - '/[\x{2642}]/u', - '/[\x{2648}-\x{2653}]/u', - '/[\x{265F}-\x{2660}]/u', - '/[\x{2663}]/u', - '/[\x{2665}-\x{2666}]/u', - '/[\x{2668}]/u', - '/[\x{267B}]/u', - '/[\x{267E}-\x{267F}]/u', - '/[\x{2692}-\x{2697}]/u', - '/[\x{2699}]/u', - '/[\x{269B}-\x{269C}]/u', - '/[\x{26A0}-\x{26A1}]/u', - '/[\x{26A7}]/u', - '/[\x{26AA}-\x{26AB}]/u', - '/[\x{26B0}-\x{26B1}]/u', - '/[\x{26BD}-\x{26BE}]/u', - '/[\x{26C4}-\x{26C5}]/u', - '/[\x{26C8}]/u', - '/[\x{26CE}-\x{26CF}]/u', - '/[\x{26D1}]/u', - '/[\x{26D3}-\x{26D4}]/u', - '/[\x{26E9}-\x{26EA}]/u', - '/[\x{26F0}-\x{26F5}]/u', - '/[\x{26F7}-\x{26FA}]/u', - '/[\x{26FD}]/u', - '/[\x{2702}]/u', - '/[\x{2705}]/u', - '/[\x{2708}-\x{270D}]/u', - '/[\x{270F}]/u', - '/[\x{2712}]/u', - '/[\x{2714}]/u', - '/[\x{2716}]/u', - '/[\x{271D}]/u', - '/[\x{2721}]/u', - '/[\x{2728}]/u', - '/[\x{2733}-\x{2734}]/u', - '/[\x{2744}]/u', - '/[\x{2747}]/u', - '/[\x{274C}]/u', - '/[\x{274E}]/u', - '/[\x{2753}-\x{2755}]/u', - '/[\x{2757}]/u', - '/[\x{2763}-\x{2764}]/u', - '/[\x{2795}-\x{2797}]/u', - '/[\x{27A1}]/u', - '/[\x{27B0}]/u', - '/[\x{27BF}]/u', - '/[\x{2934}-\x{2935}]/u', - '/[\x{2B05}-\x{2B07}]/u', - '/[\x{2B1B}-\x{2B1C}]/u', - '/[\x{2B50}]/u', - '/[\x{2B55}]/u', - '/[\x{3030}]/u', - '/[\x{303D}]/u', - '/[\x{3297}]/u', - '/[\x{3299}]/u', - '/[\x{FE0F}]/u', - '/[\x{1F004}]/u', - '/[\x{1F0CF}]/u', - '/[\x{1F170}-\x{1F171}]/u', - '/[\x{1F17E}-\x{1F17F}]/u', - '/[\x{1F18E}]/u', - '/[\x{1F191}-\x{1F19A}]/u', - '/[\x{1F1E6}-\x{1F1FF}]/u', - '/[\x{1F201}-\x{1F202}]/u', - '/[\x{1F21A}]/u', - '/[\x{1F22F}]/u', - '/[\x{1F232}-\x{1F23A}]/u', - '/[\x{1F250}-\x{1F251}]/u', - '/[\x{1F300}-\x{1F321}]/u', - '/[\x{1F324}-\x{1F393}]/u', - '/[\x{1F396}-\x{1F397}]/u', - '/[\x{1F399}-\x{1F39B}]/u', - '/[\x{1F39E}-\x{1F3F0}]/u', - '/[\x{1F3F3}-\x{1F3F5}]/u', - '/[\x{1F3F7}-\x{1F3FA}]/u', - '/[\x{1F400}-\x{1F4FD}]/u', - '/[\x{1F4FF}-\x{1F53D}]/u', - '/[\x{1F549}-\x{1F54E}]/u', - '/[\x{1F550}-\x{1F567}]/u', - '/[\x{1F56F}-\x{1F570}]/u', - '/[\x{1F573}-\x{1F57A}]/u', - '/[\x{1F587}]/u', - '/[\x{1F58A}-\x{1F58D}]/u', - '/[\x{1F590}]/u', - '/[\x{1F595}-\x{1F596}]/u', - '/[\x{1F5A4}-\x{1F5A5}]/u', - '/[\x{1F5A8}]/u', - '/[\x{1F5B1}-\x{1F5B2}]/u', - '/[\x{1F5BC}]/u', - '/[\x{1F5C2}-\x{1F5C4}]/u', - '/[\x{1F5D1}-\x{1F5D3}]/u', - '/[\x{1F5DC}-\x{1F5DE}]/u', - '/[\x{1F5E1}]/u', - '/[\x{1F5E3}]/u', - '/[\x{1F5E8}]/u', - '/[\x{1F5EF}]/u', - '/[\x{1F5F3}]/u', - '/[\x{1F5FA}-\x{1F64F}]/u', - '/[\x{1F680}-\x{1F6C5}]/u', - '/[\x{1F6CB}-\x{1F6D2}]/u', - '/[\x{1F6D5}-\x{1F6D7}]/u', - '/[\x{1F6E0}-\x{1F6E5}]/u', - '/[\x{1F6E9}]/u', - '/[\x{1F6EB}-\x{1F6EC}]/u', - '/[\x{1F6F0}]/u', - '/[\x{1F6F3}-\x{1F6FC}]/u', - '/[\x{1F7E0}-\x{1F7EB}]/u', - '/[\x{1F90C}-\x{1F93A}]/u', - '/[\x{1F93C}-\x{1F945}]/u', - '/[\x{1F947}-\x{1F978}]/u', - '/[\x{1F97A}-\x{1F9CB}]/u', - '/[\x{1F9CD}-\x{1F9FF}]/u', - '/[\x{1FA70}-\x{1FA74}]/u', - '/[\x{1FA78}-\x{1FA7A}]/u', - '/[\x{1FA80}-\x{1FA86}]/u', - '/[\x{1FA90}-\x{1FAA8}]/u', - '/[\x{1FAB0}-\x{1FAB6}]/u', - '/[\x{1FAC0}-\x{1FAC2}]/u', - '/[\x{1FAD0}-\x{1FAD6}]/u', - '/[\x{E0062}-\x{E0063}]/u', - '/[\x{E006C}]/u', - '/[\x{E006E}]/u', - '/[\x{E007F}]/u', + "[\x{1F3F4}](?:\x{E0067}\x{E0062}\x{E0077}\x{E006C}\x{E0073}\x{E007F})", + "[\x{1F3F4}](?:\x{E0067}\x{E0062}\x{E0073}\x{E0063}\x{E0074}\x{E007F})", + "[\x{1F3F4}](?:\x{E0067}\x{E0062}\x{E0065}\x{E006E}\x{E0067}\x{E007F})", + "[\x{1F3F4}](?:\x{200D}\x{2620}\x{FE0F})", + "[\x{1F3F3}](?:\x{FE0F}\x{200D}\x{1F308})", + "[\x{0023}\x{002A}\x{0030}\x{0031}\x{0032}\x{0033}\x{0034}\x{0035}\x{0036}\x{0037}\x{0038}\x{0039}](?:\x{FE0F}\x{20E3})", + "[\x{1F441}](?:\x{FE0F}\x{200D}\x{1F5E8}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F467}\x{200D}\x{1F467})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F467}\x{200D}\x{1F466})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F467})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F466}\x{200D}\x{1F466})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F466})", + "[\x{1F468}](?:\x{200D}\x{1F468}\x{200D}\x{1F467}\x{200D}\x{1F467})", + "[\x{1F468}](?:\x{200D}\x{1F468}\x{200D}\x{1F466}\x{200D}\x{1F466})", + "[\x{1F468}](?:\x{200D}\x{1F468}\x{200D}\x{1F467}\x{200D}\x{1F466})", + "[\x{1F468}](?:\x{200D}\x{1F468}\x{200D}\x{1F467})", + "[\x{1F468}](?:\x{200D}\x{1F468}\x{200D}\x{1F466})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F469}\x{200D}\x{1F467}\x{200D}\x{1F467})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F469}\x{200D}\x{1F466}\x{200D}\x{1F466})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F469}\x{200D}\x{1F467}\x{200D}\x{1F466})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F469}\x{200D}\x{1F467})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F469}\x{200D}\x{1F466})", + "[\x{1F469}](?:\x{200D}\x{2764}\x{FE0F}\x{200D}\x{1F469})", + "[\x{1F469}\x{1F468}](?:\x{200D}\x{2764}\x{FE0F}\x{200D}\x{1F468})", + "[\x{1F469}](?:\x{200D}\x{2764}\x{FE0F}\x{200D}\x{1F48B}\x{200D}\x{1F469})", + "[\x{1F469}\x{1F468}](?:\x{200D}\x{2764}\x{FE0F}\x{200D}\x{1F48B}\x{200D}\x{1F468})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F9B3})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F9B3})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F9B3})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F9B3})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F9B3})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9B3})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F9B2})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F9B2})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F9B2})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F9B2})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F9B2})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9B2})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F9B1})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F9B1})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F9B1})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F9B1})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F9B1})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9B1})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F9B0})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F9B0})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F9B0})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F9B0})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F9B0})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F9B0})", + "[\x{1F575}\x{1F3CC}\x{26F9}\x{1F3CB}](?:\x{FE0F}\x{200D}\x{2640}\x{FE0F})", + "[\x{1F575}\x{1F3CC}\x{26F9}\x{1F3CB}](?:\x{FE0F}\x{200D}\x{2642}\x{FE0F})", + "[\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{1F3FF}\x{200D}\x{2640}\x{FE0F})", + "[\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{1F3FE}\x{200D}\x{2640}\x{FE0F})", + "[\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{1F3FD}\x{200D}\x{2640}\x{FE0F})", + "[\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{1F3FC}\x{200D}\x{2640}\x{FE0F})", + "[\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{1F3FB}\x{200D}\x{2640}\x{FE0F})", + "[\x{1F46E}\x{1F9B8}\x{1F9B9}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F9DE}\x{1F9DF}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F46F}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93C}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{200D}\x{2640}\x{FE0F})", + "[\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{1F3FF}\x{200D}\x{2642}\x{FE0F})", + "[\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{1F3FE}\x{200D}\x{2642}\x{FE0F})", + "[\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{1F3FD}\x{200D}\x{2642}\x{FE0F})", + "[\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{1F3FC}\x{200D}\x{2642}\x{FE0F})", + "[\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{1F3FB}\x{200D}\x{2642}\x{FE0F})", + "[\x{1F46E}\x{1F9B8}\x{1F9B9}\x{1F482}\x{1F477}\x{1F473}\x{1F471}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F9DE}\x{1F9DF}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F46F}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93C}\x{1F93D}\x{1F93E}\x{1F939}](?:\x{200D}\x{2642}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F692})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F692})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F692})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F692})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F692})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F692})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F680})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F680})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F680})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F680})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F680})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F680})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{2708}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{2708}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{2708}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{2708}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{2708}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{2708}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F3A8})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F3A8})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F3A8})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F3A8})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F3A8})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F3A8})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F3A4})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F3A4})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F3A4})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F3A4})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F3A4})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F3A4})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F4BB})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F4BB})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F4BB})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F4BB})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F4BB})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F4BB})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F52C})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F52C})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F52C})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F52C})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F52C})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F52C})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F4BC})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F4BC})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F4BC})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F4BC})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F4BC})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F4BC})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F3ED})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F3ED})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F3ED})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F3ED})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F3ED})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F3ED})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F527})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F527})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F527})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F527})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F527})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F527})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F373})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F373})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F373})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F373})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F373})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F373})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F33E})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F33E})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F33E})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F33E})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F33E})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F33E})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{2696}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{2696}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{2696}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{2696}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{2696}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{2696}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F3EB})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F3EB})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F3EB})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F3EB})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F3EB})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F3EB})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{1F393})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{1F393})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{1F393})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{1F393})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{1F393})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{1F393})", + "[\x{1F468}\x{1F469}](?:\x{1F3FF}\x{200D}\x{2695}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FE}\x{200D}\x{2695}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FD}\x{200D}\x{2695}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FC}\x{200D}\x{2695}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{1F3FB}\x{200D}\x{2695}\x{FE0F})", + "[\x{1F468}\x{1F469}](?:\x{200D}\x{2695}\x{FE0F})", + "[\x{1F476}\x{1F9D2}\x{1F466}\x{1F467}\x{1F9D1}\x{1F468}\x{1F469}\x{1F9D3}\x{1F474}\x{1F475}\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F934}\x{1F478}\x{1F473}\x{1F472}\x{1F9D5}\x{1F9D4}\x{1F471}\x{1F935}\x{1F470}\x{1F930}\x{1F931}\x{1F47C}\x{1F385}\x{1F936}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F483}\x{1F57A}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F6C0}\x{1F6CC}\x{1F574}\x{1F3C7}\x{1F3C2}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}\x{1F933}\x{1F4AA}\x{1F9B5}\x{1F9B6}\x{1F448}\x{1F449}\x{261D}\x{1F446}\x{1F595}\x{1F447}\x{270C}\x{1F91E}\x{1F596}\x{1F918}\x{1F919}\x{1F590}\x{270B}\x{1F44C}\x{1F44D}\x{1F44E}\x{270A}\x{1F44A}\x{1F91B}\x{1F91C}\x{1F91A}\x{1F44B}\x{1F91F}\x{270D}\x{1F44F}\x{1F450}\x{1F64C}\x{1F932}\x{1F64F}\x{1F485}\x{1F442}\x{1F443}](?:\x{1F3FF})", + "[\x{1F476}\x{1F9D2}\x{1F466}\x{1F467}\x{1F9D1}\x{1F468}\x{1F469}\x{1F9D3}\x{1F474}\x{1F475}\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F934}\x{1F478}\x{1F473}\x{1F472}\x{1F9D5}\x{1F9D4}\x{1F471}\x{1F935}\x{1F470}\x{1F930}\x{1F931}\x{1F47C}\x{1F385}\x{1F936}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F483}\x{1F57A}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F6C0}\x{1F6CC}\x{1F574}\x{1F3C7}\x{1F3C2}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}\x{1F933}\x{1F4AA}\x{1F9B5}\x{1F9B6}\x{1F448}\x{1F449}\x{261D}\x{1F446}\x{1F595}\x{1F447}\x{270C}\x{1F91E}\x{1F596}\x{1F918}\x{1F919}\x{1F590}\x{270B}\x{1F44C}\x{1F44D}\x{1F44E}\x{270A}\x{1F44A}\x{1F91B}\x{1F91C}\x{1F91A}\x{1F44B}\x{1F91F}\x{270D}\x{1F44F}\x{1F450}\x{1F64C}\x{1F932}\x{1F64F}\x{1F485}\x{1F442}\x{1F443}](?:\x{1F3FE})", + "[\x{1F476}\x{1F9D2}\x{1F466}\x{1F467}\x{1F9D1}\x{1F468}\x{1F469}\x{1F9D3}\x{1F474}\x{1F475}\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F934}\x{1F478}\x{1F473}\x{1F472}\x{1F9D5}\x{1F9D4}\x{1F471}\x{1F935}\x{1F470}\x{1F930}\x{1F931}\x{1F47C}\x{1F385}\x{1F936}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F483}\x{1F57A}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F6C0}\x{1F6CC}\x{1F574}\x{1F3C7}\x{1F3C2}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}\x{1F933}\x{1F4AA}\x{1F9B5}\x{1F9B6}\x{1F448}\x{1F449}\x{261D}\x{1F446}\x{1F595}\x{1F447}\x{270C}\x{1F91E}\x{1F596}\x{1F918}\x{1F919}\x{1F590}\x{270B}\x{1F44C}\x{1F44D}\x{1F44E}\x{270A}\x{1F44A}\x{1F91B}\x{1F91C}\x{1F91A}\x{1F44B}\x{1F91F}\x{270D}\x{1F44F}\x{1F450}\x{1F64C}\x{1F932}\x{1F64F}\x{1F485}\x{1F442}\x{1F443}](?:\x{1F3FD})", + "[\x{1F476}\x{1F9D2}\x{1F466}\x{1F467}\x{1F9D1}\x{1F468}\x{1F469}\x{1F9D3}\x{1F474}\x{1F475}\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F934}\x{1F478}\x{1F473}\x{1F472}\x{1F9D5}\x{1F9D4}\x{1F471}\x{1F935}\x{1F470}\x{1F930}\x{1F931}\x{1F47C}\x{1F385}\x{1F936}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F483}\x{1F57A}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F6C0}\x{1F6CC}\x{1F574}\x{1F3C7}\x{1F3C2}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}\x{1F933}\x{1F4AA}\x{1F9B5}\x{1F9B6}\x{1F448}\x{1F449}\x{261D}\x{1F446}\x{1F595}\x{1F447}\x{270C}\x{1F91E}\x{1F596}\x{1F918}\x{1F919}\x{1F590}\x{270B}\x{1F44C}\x{1F44D}\x{1F44E}\x{270A}\x{1F44A}\x{1F91B}\x{1F91C}\x{1F91A}\x{1F44B}\x{1F91F}\x{270D}\x{1F44F}\x{1F450}\x{1F64C}\x{1F932}\x{1F64F}\x{1F485}\x{1F442}\x{1F443}](?:\x{1F3FC})", + "[\x{1F476}\x{1F9D2}\x{1F466}\x{1F467}\x{1F9D1}\x{1F468}\x{1F469}\x{1F9D3}\x{1F474}\x{1F475}\x{1F46E}\x{1F575}\x{1F482}\x{1F477}\x{1F934}\x{1F478}\x{1F473}\x{1F472}\x{1F9D5}\x{1F9D4}\x{1F471}\x{1F935}\x{1F470}\x{1F930}\x{1F931}\x{1F47C}\x{1F385}\x{1F936}\x{1F9D9}\x{1F9DA}\x{1F9DB}\x{1F9DC}\x{1F9DD}\x{1F64D}\x{1F64E}\x{1F645}\x{1F646}\x{1F481}\x{1F64B}\x{1F647}\x{1F926}\x{1F937}\x{1F486}\x{1F487}\x{1F6B6}\x{1F3C3}\x{1F483}\x{1F57A}\x{1F9D6}\x{1F9D7}\x{1F9D8}\x{1F6C0}\x{1F6CC}\x{1F574}\x{1F3C7}\x{1F3C2}\x{1F3CC}\x{1F3C4}\x{1F6A3}\x{1F3CA}\x{26F9}\x{1F3CB}\x{1F6B4}\x{1F6B5}\x{1F938}\x{1F93D}\x{1F93E}\x{1F939}\x{1F933}\x{1F4AA}\x{1F9B5}\x{1F9B6}\x{1F448}\x{1F449}\x{261D}\x{1F446}\x{1F595}\x{1F447}\x{270C}\x{1F91E}\x{1F596}\x{1F918}\x{1F919}\x{1F590}\x{270B}\x{1F44C}\x{1F44D}\x{1F44E}\x{270A}\x{1F44A}\x{1F91B}\x{1F91C}\x{1F91A}\x{1F44B}\x{1F91F}\x{270D}\x{1F44F}\x{1F450}\x{1F64C}\x{1F932}\x{1F64F}\x{1F485}\x{1F442}\x{1F443}](?:\x{1F3FB})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1E9}\x{1F1F0}\x{1F1F2}\x{1F1F3}\x{1F1F8}\x{1F1F9}\x{1F1FA}](?:\x{1F1FF})", + "[\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1F0}\x{1F1F1}\x{1F1F2}\x{1F1F5}\x{1F1F8}\x{1F1FA}](?:\x{1F1FE})", + "[\x{1F1E6}\x{1F1E8}\x{1F1F2}\x{1F1F8}](?:\x{1F1FD})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1F0}\x{1F1F2}\x{1F1F5}\x{1F1F7}\x{1F1F9}\x{1F1FF}](?:\x{1F1FC})", + "[\x{1F1E7}\x{1F1E8}\x{1F1F1}\x{1F1F2}\x{1F1F8}\x{1F1F9}](?:\x{1F1FB})", + "[\x{1F1E6}\x{1F1E8}\x{1F1EA}\x{1F1EC}\x{1F1ED}\x{1F1F1}\x{1F1F2}\x{1F1F3}\x{1F1F7}\x{1F1FB}](?:\x{1F1FA})", + "[\x{1F1E6}\x{1F1E7}\x{1F1EA}\x{1F1EC}\x{1F1ED}\x{1F1EE}\x{1F1F1}\x{1F1F2}\x{1F1F5}\x{1F1F8}\x{1F1F9}\x{1F1FE}](?:\x{1F1F9})", + "[\x{1F1E6}\x{1F1E7}\x{1F1EA}\x{1F1EC}\x{1F1EE}\x{1F1F1}\x{1F1F2}\x{1F1F5}\x{1F1F7}\x{1F1F8}\x{1F1FA}\x{1F1FC}](?:\x{1F1F8})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EA}\x{1F1EB}\x{1F1EC}\x{1F1ED}\x{1F1EE}\x{1F1F0}\x{1F1F1}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F8}\x{1F1F9}](?:\x{1F1F7})", + "[\x{1F1E6}\x{1F1E7}\x{1F1EC}\x{1F1EE}\x{1F1F2}](?:\x{1F1F6})", + "[\x{1F1E8}\x{1F1EC}\x{1F1EF}\x{1F1F0}\x{1F1F2}\x{1F1F3}](?:\x{1F1F5})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1E9}\x{1F1EB}\x{1F1EE}\x{1F1EF}\x{1F1F2}\x{1F1F3}\x{1F1F7}\x{1F1F8}\x{1F1F9}](?:\x{1F1F4})", + "[\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1ED}\x{1F1EE}\x{1F1F0}\x{1F1F2}\x{1F1F5}\x{1F1F8}\x{1F1F9}\x{1F1FA}\x{1F1FB}](?:\x{1F1F3})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1E9}\x{1F1EB}\x{1F1EC}\x{1F1ED}\x{1F1EE}\x{1F1EF}\x{1F1F0}\x{1F1F2}\x{1F1F4}\x{1F1F5}\x{1F1F8}\x{1F1F9}\x{1F1FA}\x{1F1FF}](?:\x{1F1F2})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1EE}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F8}\x{1F1F9}](?:\x{1F1F1})", + "[\x{1F1E8}\x{1F1E9}\x{1F1EB}\x{1F1ED}\x{1F1F1}\x{1F1F2}\x{1F1F5}\x{1F1F8}\x{1F1F9}\x{1F1FD}](?:\x{1F1F0})", + "[\x{1F1E7}\x{1F1E9}\x{1F1EB}\x{1F1F8}\x{1F1F9}](?:\x{1F1EF})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EB}\x{1F1EC}\x{1F1F0}\x{1F1F1}\x{1F1F3}\x{1F1F8}\x{1F1FB}](?:\x{1F1EE})", + "[\x{1F1E7}\x{1F1E8}\x{1F1EA}\x{1F1EC}\x{1F1F0}\x{1F1F2}\x{1F1F5}\x{1F1F8}\x{1F1F9}](?:\x{1F1ED})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1E9}\x{1F1EA}\x{1F1EC}\x{1F1F0}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F8}\x{1F1F9}\x{1F1FA}\x{1F1FB}](?:\x{1F1EC})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F9}\x{1F1FC}](?:\x{1F1EB})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E9}\x{1F1EA}\x{1F1EC}\x{1F1EE}\x{1F1EF}\x{1F1F0}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F7}\x{1F1F8}\x{1F1FB}\x{1F1FE}](?:\x{1F1EA})", + "[\x{1F1E6}\x{1F1E7}\x{1F1E8}\x{1F1EC}\x{1F1EE}\x{1F1F2}\x{1F1F8}\x{1F1F9}](?:\x{1F1E9})", + "[\x{1F1E6}\x{1F1E8}\x{1F1EA}\x{1F1EE}\x{1F1F1}\x{1F1F2}\x{1F1F3}\x{1F1F8}\x{1F1F9}\x{1F1FB}](?:\x{1F1E8})", + "[\x{1F1E7}\x{1F1EC}\x{1F1F1}\x{1F1F8}](?:\x{1F1E7})", + "[\x{1F1E7}\x{1F1E8}\x{1F1EA}\x{1F1EC}\x{1F1F1}\x{1F1F2}\x{1F1F3}\x{1F1F5}\x{1F1F6}\x{1F1F8}\x{1F1F9}\x{1F1FA}\x{1F1FB}\x{1F1FF}](?:\x{1F1E6})", + "[\x{00A9}\x{00AE}\x{203C}\x{2049}\x{2122}\x{2139}\x{2194}-\x{2199}\x{21A9}-\x{21AA}\x{231A}-\x{231B}\x{2328}\x{23CF}\x{23E9}-\x{23F3}\x{23F8}-\x{23FA}\x{24C2}\x{25AA}-\x{25AB}\x{25B6}\x{25C0}\x{25FB}-\x{25FE}\x{2600}-\x{2604}\x{260E}\x{2611}\x{2614}-\x{2615}\x{2618}\x{261D}\x{2620}\x{2622}-\x{2623}\x{2626}\x{262A}\x{262E}-\x{262F}\x{2638}-\x{263A}\x{2640}\x{2642}\x{2648}-\x{2653}\x{2660}\x{2663}\x{2665}-\x{2666}\x{2668}\x{267B}\x{267E}-\x{267F}\x{2692}-\x{2697}\x{2699}\x{269B}-\x{269C}\x{26A0}-\x{26A1}\x{26AA}-\x{26AB}\x{26B0}-\x{26B1}\x{26BD}-\x{26BE}\x{26C4}-\x{26C5}\x{26C8}\x{26CE}-\x{26CF}\x{26D1}\x{26D3}-\x{26D4}\x{26E9}-\x{26EA}\x{26F0}-\x{26F5}\x{26F7}-\x{26FA}\x{26FD}\x{2702}\x{2705}\x{2708}-\x{270D}\x{270F}\x{2712}\x{2714}\x{2716}\x{271D}\x{2721}\x{2728}\x{2733}-\x{2734}\x{2744}\x{2747}\x{274C}\x{274E}\x{2753}-\x{2755}\x{2757}\x{2763}-\x{2764}\x{2795}-\x{2797}\x{27A1}\x{27B0}\x{27BF}\x{2934}-\x{2935}\x{2B05}-\x{2B07}\x{2B1B}-\x{2B1C}\x{2B50}\x{2B55}\x{3030}\x{303D}\x{3297}\x{3299}\x{1F004}\x{1F0CF}\x{1F170}-\x{1F171}\x{1F17E}-\x{1F17F}\x{1F18E}\x{1F191}-\x{1F19A}\x{1F201}-\x{1F202}\x{1F21A}\x{1F22F}\x{1F232}-\x{1F23A}\x{1F250}-\x{1F251}\x{1F300}-\x{1F321}\x{1F324}-\x{1F393}\x{1F396}-\x{1F397}\x{1F399}-\x{1F39B}\x{1F39E}-\x{1F3F0}\x{1F3F3}-\x{1F3F5}\x{1F3F7}-\x{1F3FA}\x{1F400}-\x{1F4FD}\x{1F4FF}-\x{1F53D}\x{1F549}-\x{1F54E}\x{1F550}-\x{1F567}\x{1F56F}-\x{1F570}\x{1F573}-\x{1F57A}\x{1F587}\x{1F58A}-\x{1F58D}\x{1F590}\x{1F595}-\x{1F596}\x{1F5A4}-\x{1F5A5}\x{1F5A8}\x{1F5B1}-\x{1F5B2}\x{1F5BC}\x{1F5C2}-\x{1F5C4}\x{1F5D1}-\x{1F5D3}\x{1F5DC}-\x{1F5DE}\x{1F5E1}\x{1F5E3}\x{1F5E8}\x{1F5EF}\x{1F5F3}\x{1F5FA}-\x{1F64F}\x{1F680}-\x{1F6C5}\x{1F6CB}-\x{1F6D2}\x{1F6E0}-\x{1F6E5}\x{1F6E9}\x{1F6EB}-\x{1F6EC}\x{1F6F0}\x{1F6F3}-\x{1F6F9}\x{1F910}-\x{1F93A}\x{1F93C}-\x{1F93E}\x{1F940}-\x{1F945}\x{1F947}-\x{1F970}\x{1F973}-\x{1F976}\x{1F97A}\x{1F97C}-\x{1F9A2}\x{1F9B0}-\x{1F9B9}\x{1F9C0}-\x{1F9C2}\x{1F9D0}-\x{1F9FF}]", ]; } } diff --git a/tests/FilterTest.php b/tests/FilterTest.php index 749d9f6..86d635e 100644 --- a/tests/FilterTest.php +++ b/tests/FilterTest.php @@ -16,8 +16,22 @@ public function testRemoveEmoji(): void public function testReplaceEmojiToSpesificString() { - $text = 'Emoji 🌆'; + $text = 'Emoji 😂'; $this->assertEquals('Emoji removed', EmojiRemover::filter($text, 'removed')); } + + public function testRemoveEmojiOnTextWithNumber(): void + { + $text = 'Emoji 123 🐱'; + + $this->assertEquals('Emoji 123 ', EmojiRemover::filter($text)); + } + + public function testRemoveEmojiOnTextWithSymbol(): void + { + $text = "Emoji !@#$%^&*()-=_+\]'/[;.,]|}\"?{:><} 🚚"; + + $this->assertEquals("Emoji !@#$%^&*()-=_+\]'/[;.,]|}\"?{:><} ", EmojiRemover::filter($text)); + } }