Umlaute in ASCII-Äquivalente in UTF-8-Zeichenfolgen umwandeln
Problem:
Special ersetzen Zeichen wie Umlaute in einer UTF-8-Zeichenfolge mit ihrem nächsten 7-Bit-ASCII-Äquivalent. Beispielsweise sollte „lärm“ zu „larm“ und „andré“ zu „andre“ werden.
Lösung:
Mit utf8_decode() und strtr() Wie im angegebenen Codeausschnitt gezeigt, handelt es sich um eine gängige Lösung. Wenn Ihre Quelldatei jedoch in UTF-8 gespeichert ist und Sie keine ISO-8859-15-Zeichen eingeben können, ist ein eleganterer Ansatz verfügbar.
Die Funktion iconv() kann zur Zeichensatzkonvertierung verwendet werden. Durch die Angabe von „ascii//TRANSLIT“ als Zielzeichensatz werden Umlaute automatisch in ihre ASCII-Entsprechungen umgewandelt:
echo iconv("utf-8","ascii//TRANSLIT",$input);
Erweitertes Beispiel:
Zur Veranschaulichung Beachten Sie bei der Verwendung von iconv() den folgenden Code:
$input = "lärm andré"; $output = iconv("utf-8","ascii//TRANSLIT",$input); echo $output; // Output: larm andre
Dieser Code konvertiert alle Umlaute in der Eingabe string in ihre ASCII-Äquivalente umwandeln.
Das obige ist der detaillierte Inhalt vonWie ersetze ich Umlaute durch ASCII-Äquivalente in UTF-8-Strings?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!