From 717ea3f7cd9b29df70a1bffe409d4bff593a518a Mon Sep 17 00:00:00 2001 From: Andrew Ozz Date: Tue, 5 May 2015 01:40:21 +0000 Subject: [PATCH] Emoji: add shorter/faster regex for testing for emoji chars in added nodes. See #32125. git-svn-id: https://develop.svn.wordpress.org/trunk@32347 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/js/wp-emoji.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/wp-includes/js/wp-emoji.js b/src/wp-includes/js/wp-emoji.js index 5777ef2e9c..4331bbd562 100644 --- a/src/wp-includes/js/wp-emoji.js +++ b/src/wp-includes/js/wp-emoji.js @@ -97,8 +97,13 @@ * @returns Boolean */ function test( text ) { - if ( text && twemoji ) { - return twemoji.test( text ); + // Single char. U+20E3 to detect keycaps. U+00A9 "copyright sign" and U+00AE "registered sign" not included. + var single = /[\u203C\u2049\u20E3\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2300\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692\u2693\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753\u2754\u2755\u2757\u2763\u2764\u2795\u2796\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05\u2B06\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]/, + // Surrogate pair range. Only tests for the second half. + pair = /[\uDC00-\uDFFF]/; + + if ( text ) { + return pair.test( text ) || single.test( text ); } return false;