PHP: Ersetzen Sie Umlaute mit dem nächsten 7-Bit-ASCII-Äquivalent in einer UTF-8-Zeichenfolge
Was ich tun wollen ist, entfernen Sie alle Akzente und Umlaute aus einem string, drehen "lärm" in "larm" oder "andré" in "andre". Was ich versucht habe zu tun war, utf8_decode den string und verwenden Sie dann strtr auf, aber da meine Quelle die Datei als UTF-8 gespeichert Datei, ich kann nicht geben Sie den ISO-8859-15-Zeichen für alle Umlaute - der editor fügt die UTF-8-Zeichen.
Offensichtlich eine Lösung für dieses wäre ein include, ist ein ISO-8859-15-Datei, aber es muss einen besseren Weg, als zu einer anderen erforderlich sind?
echo strtr(utf8_decode($input),
'ŠŒŽšœžŸ¥µÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöøùúûüýÿ',
'SOZsozYYuAAAAAAACEEEEIIIIDNOOOOOOUUUUYsaaaaaaaceeeeiiiionoooooouuuuyy');
UPDATE: Vielleicht war ich etwas ungenau mit dem, was ich versuche zu tun: ich weiß nicht wirklich wollen, entfernen Sie die Umlaute, sondern ersetzen Sie mit den nächsten "ein Zeichen ASCII" entspricht.
InformationsquelleAutor der Frage BlaM | 2008-10-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erweitert Beispiel
InformationsquelleAutor der Antwort Vinko Vrsalovic
Einen kleinen trick, der nicht erforderlich ist, die Einstellung locales oder riesige übersetzung-Tabellen:
Ist die einzige Voraussetzung, um richtig funktionieren wird, um Ihre Dateien zu speichern in UTF-8 (sollte man da schon).
InformationsquelleAutor der Antwort Alix Axel
können Sie auch versuchen, diese
aber Sie müssen http://php.net/manual/en/book.intl.php verfügbar
InformationsquelleAutor der Antwort gabo
Okay, fand eine offensichtliche Lösung selber, aber es ist nicht das beste bezüglich Leistung...
InformationsquelleAutor der Antwort BlaM
Arabische und persische Benutzer empfehle ich diese Methode zum entfernen von diakritischen Zeichen:
Für die Eingabe von diakritischen Zeichen in der arabischen Tastaturen kann u verwenden Sie diese Asci(die codes sind die Asci nicht Unicode) - codes in windows-Editoren
Eingabe von diakritischen Zeichen, die direkt oder Alt-Taste gedrückt halten + (geben Sie den code von diakritischen Zeichen)
Dies ist die codes
ـَ(0243) ـِ(0246) ـُ(0245) ـً(0240) ـٍ(0242) ـٌ(0241) ـْ(0250) ـّ(0248) ـ
ـ(0220)
InformationsquelleAutor der Antwort ganji
Fand ich, dass es diesen gibt die meisten konsistente Ergebnisse in Französisch und Deutsch.
mit dem meta-tag festgelegt
utf-8
habe ich es in eine Funktion zurück eine Zeile aus einem array von Wörtern, und es funktioniert perfekt.InformationsquelleAutor der Antwort jay
Wenn Sie WordPress verwenden, können Sie die integrierte Funktion
remove_accents( $string )
https://codex.wordpress.org/Function_Reference/remove_accents
Jedoch bemerkte ich einen bug : er funktioniert nicht auf einer saite mit einem einzigen Charakter.
InformationsquelleAutor der Antwort youtag