Akzentzeichen in PHP ersetzen
Das Ersetzen von Akzentzeichen durch ihre Standardäquivalente ist eine häufige Aufgabe in der Programmierung. Der bereitgestellte Code versucht zwar, dies zu erreichen, erzeugt jedoch nicht die gewünschte Ausgabe.
Das Problem liegt in der Groß-/Kleinschreibung des Ersetzungsprozesses. In Ihrem Code wird die Eingabezeichenfolge zunächst in Kleinbuchstaben umgewandelt, was zu „éric cantona“ führt. Infolgedessen werden Akzentzeichen wie „É“ durch ihre Kleinbuchstabenäquivalente „é“ ersetzt. Dies führt zur falschen Ausgabe von „ric cantona“.
Um dies zu beheben, können wir die Zeichen ohne Berücksichtigung der Groß-/Kleinschreibung ersetzen und so sicherstellen, dass sowohl akzentuierte als auch nicht akzentuierte Zeichen korrekt umgewandelt werden. Hier ist ein alternativer Ansatz, der die Funktion strtr() verwendet:
$string = "Éric Cantona"; $unwanted_array = array( 'Š' => 'S', 'š' => 's', 'Ž' => 'Z', 'ž' => 'z', 'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'A', 'Ç' => 'C', 'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ý' => 'Y', 'Þ' => 'B', 'ß' => 'Ss', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'a', 'ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ð' => 'o', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ý' => 'y', 'þ' => 'b', 'ÿ' => 'y' ); $str = strtr( $string, $unwanted_array );
Die Funktion strtr() benötigt eine Eingabezeichenfolge und ein Array von zu ersetzenden Zeichen. In unserem Fall enthält das $unwanted_array die Akzentzeichen als Schlüssel und ihre Standardäquivalente als Werte. Die Funktion führt eine Suche ohne Berücksichtigung der Groß- und Kleinschreibung durch und ersetzt alle Vorkommen der Zeichen mit Akzent durch ihre Gegenstücke.
Als Ergebnis erzeugt der Code die gewünschte Ausgabe: „eric cantona.“
Das obige ist der detaillierte Inhalt vonWie kann ich Akzentzeichen in PHP ohne Probleme mit der Groß-/Kleinschreibung korrekt ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!