Heim >Backend-Entwicklung >PHP-Tutorial >Wie ersetze ich Umlaute durch ASCII-Äquivalente in UTF-8-Strings?

Wie ersetze ich Umlaute durch ASCII-Äquivalente in UTF-8-Strings?

DDD
DDDOriginal
2024-11-29 19:46:14418Durchsuche

How to Replace Umlauts with ASCII Equivalents in UTF-8 Strings?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn