So entfernen Sie emoji code mit javascript?
Wie Entferne ich emoji code mit JavaScript? Ich dachte, ich hätte aufgepasst, es mit dem code unten, aber ich habe noch Charaktere wie ?.
function removeInvalidChars() {
return this.replace(/[\uE000-\uF8FF]/g, '');
}
InformationsquelleAutor der Frage manraj82 | 2012-06-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Bereich, den Sie gewählt haben, ist die Private Verwendung Bereich, mit nicht-standard Charaktere. Träger verwendet, um Kodieren emoji als verschiedene, inkonsistente Werte innerhalb dieses Bereichs.
Seit kurzem die emoji gegeben wurden standardisierte 'unified' codepoints. Viele von diesen sind außerhalb der Basic Multilingual Plane, die in dem block U+1F300–U+1F5FF, einschließlich Ihrer Beispiel ? U+1F534 Großen Roten Kreis.
Könnten Sie erkennen diese Zeichen mit
[\U0001F300-\U0001F5FF]
in eine regex-engine, unterstützt von nicht-BMP-Zeichen, aber JavaScript istRegExp
ist nicht solch eine Bestie. Leider sind die JS-string-Modell basiert auf UTF-16 code-Einheiten, so müssten Sie die Arbeit mit der UTF-16-Ersatzzeichen in ein regexp:Beachten Sie jedoch, dass gibt es andere Zeichen, die im Basic Multilingual Plane, die als emoji von Handys, aber die lange verdrängen emoji. Beispiel: U+2665 ist das traditionelle Herz-Anzug Charakter ♥, aber meine werden so dargestellt, als ein emoji-Grafik auf einigen Geräten. Es liegt an Ihnen, ob Sie behandeln Sie dies als emoji und versuchen, Sie zu entfernen. Sehen diese Liste weitere Beispiele.
InformationsquelleAutor der Antwort bobince
Für mich keine der Antworten vollständig entfernt alle emojis, so hatte ich zu tun, einige arbeiten selbst und das ist, was ich habe :
Auch, es sollte berücksichtigt werden, dass, wenn man das einfügen der Zeichenfolge später in die Datenbank, und ersetzen Sie mit leeren Zeichenkette kann aussetzen Frage der Sicherheit. stattdessen ersetzen, mit der Ersatz Zeichen U+FFFD finden Sie unter : http://www.unicode.org/reports/tr36/#Deletion_of_Noncharacters
Edit:ich habe mich verändert die regex zu incldue paar neue Emojis..
InformationsquelleAutor der Antwort jony89
Ich habe gefunden, dass viele Vorschläge um, aber die regex, die haben mein problem gelöst ist:
Einem kurzen Beispiel
Hoffe, es kann Ihnen helfen,
InformationsquelleAutor der Antwort Lucas G.
Ich weiß, dieser Beitrag ist ein bisschen alt, aber ich stolperte über dieses sehr problem bei der Arbeit und ein Kollege kam mit einer interessanten Idee. Im Grunde statt Strippen emoji-Zeichen erlauben nur gültige Zeichen in. Beratung diese ASCII-Tabelle:
http://www.asciitable.com/
Einer Funktion wie dieser konnte nur zulässige Zeichen enthalten (die Strecke selbst abhängig, was Sie nach)
Diese sollten erhalten Sie alle zahlen, Buchstaben und Sonderzeichen des Alphabets für eine situation, wo Sie möchten erhalten Sie das englische alphabet + Zahl + Sonderzeichen. Hoffe es hilft jemanden 🙂
InformationsquelleAutor der Antwort Evangelos Aktoudianakis
Keiner der Antworten, die hier arbeiteten, für alle unicode-Zeichen, die ich getestet habe (speziell die Zeichen in den Sonstiges-Bereich, wie ⛽ oder ☯️).
Hier ist eine, die arbeitete für mich, (stark) inspiriert von diese SO PHP-Antwort:
(Mein Anwendungsfall ist die Sortierung in einem Daten-grid, wo emojis können, kommen Sie zuerst in einen string, aber der Benutzer will den text, geordnet nach den tatsächlichen Worten.)
InformationsquelleAutor der Antwort aeharding