Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Akzentzeichen in PHP effizient ersetzen?

Wie kann ich Akzentzeichen in PHP effizient ersetzen?

Susan Sarandon
Freigeben: 2024-12-16 17:07:22
Original
579 Leute haben es durchsucht

How Can I Efficiently Replace Accented Characters in PHP?

Akzentzeichen in PHP ersetzen

Der angegebene Code dient zum Ersetzen von Akzentzeichen durch ihre normalen Gegenstücke. Allerdings können Zeichen wie É nicht in E konvertiert werden, da die Funktion strtolower() keine Unicode-Zeichen konvertiert. Um dieses Problem zu lösen, können wir einen anderen Ansatz verwenden.

Im bereitgestellten Code ist die Verwendung regulärer Ausdrücke mit preg_replace() für diese Aufgabe zu kompliziert. Stattdessen können wir eine einfachere und effizientere Methode verwenden, indem wir die Funktion strtr() verwenden.

Die Funktion strtr() benötigt zwei Argumente: die zu ändernde Zeichenfolge und ein Array, das die Zeichenzuordnungen enthält. Wir können ein Array erstellen, in dem die Schlüssel die Zeichen mit Akzent und die Werte ihre Ersetzungen sind.

Zum Beispiel:

$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'
);
Nach dem Login kopieren

Sobald wir dieses Array haben, können wir strtr() verwenden, um Ersetzen Sie die Zeichen mit Akzent in der angegebenen Zeichenfolge:

$originalString = "Éric Cantona";
$modifiedString = strtr($originalString, $unwanted_array);
echo "Original: $originalString\n";
echo "Modified: $modifiedString\n";
Nach dem Login kopieren

Dieser Ansatz ersetzt Zeichen mit Akzent korrekt durch ihre normalen Gegenstücke, was zum gewünschten Ergebnis führt Ausgabe:

Original: Éric Cantona
Modified: Eric Cantona
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Akzentzeichen in PHP effizient ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage