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

Schreibe einen Kommentar