Heim >Backend-Entwicklung >PHP-Tutorial >Wie entferne ich Akzente aus Zeichenfolgen in PHP mithilfe einer benutzerdefinierten Funktion?
So entfernen Sie Akzente von Zeichen in einer PHP-Zeichenfolge mithilfe einer benutzerdefinierten Funktion
Während die PHP-Iconv-Funktion verwendet werden kann, um Akzente aus zu entfernen Zeichenfolgen können bestimmte Faktoren, wie z. B. eine falsche Iconv-Implementierung, die Wirksamkeit beeinträchtigen. Glücklicherweise gibt es eine alternative Methode: die Verwendung einer benutzerdefinierten Funktion, die eine Konvertierungstabelle nutzt.
Schritte:
Schreiben Sie die benutzerdefinierte Funktion:
Erstellen Sie eine Funktion, die eine Zeichenfolge als Eingabe verwendet und die Konvertierungstabelle darauf anwendet und ersetzt akzentuierte Zeichen mit ihren Basis-Gegenstücken. Beispiel:
function remove_accents($string) { $string = strtr($string, $chars); return $string; }
Verwenden Sie die Funktion:
Rufen Sie die Funktion „remove_accents()“ für die gewünschte Zeichenfolge auf, um etwaige Akzente zu entfernen. Beispiel:
$input = "Fóø Bår"; // Call the function $output = remove_accents($input); // Display the result print($output);
Erwartete Ausgabe:
F'oo Bar
Benutzerdefinierte Konvertierungstabelle:
Das Folgende ist ein Beispiel für eine Konvertierungstabelle, die Sie verwenden können:
[ // Decompositions for Latin-1 Supplement chr(195).chr(128) => 'A', chr(195).chr(129) => 'A', chr(195).chr(130) => 'A', chr(195).chr(131) => 'A', chr(195).chr(132) => 'A', chr(195).chr(133) => 'A', chr(195).chr(135) => 'C', chr(195).chr(136) => 'E', chr(195).chr(137) => 'E', chr(195).chr(138) => 'E', chr(195).chr(139) => 'E', chr(195).chr(140) => 'I', chr(195).chr(141) => 'I', chr(195).chr(142) => 'I', chr(195).chr(143) => 'I', chr(195).chr(145) => 'N', chr(195).chr(146) => 'O', chr(195).chr(147) => 'O', chr(195).chr(148) => 'O', chr(195).chr(149) => 'O', chr(195).chr(150) => 'O', chr(195).chr(153) => 'U', chr(195).chr(154) => 'U', chr(195).chr(155) => 'U', chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y', chr(195).chr(159) => 's', chr(195).chr(160) => 'a', chr(195).chr(161) => 'a', chr(195).chr(162) => 'a', chr(195).chr(163) => 'a', chr(195).chr(164) => 'a', chr(195).chr(165) => 'a', chr(195).chr(167) => 'c', chr(195).chr(168) => 'e', chr(195).chr(169) => 'e', chr(195).chr(170) => 'e', chr(195).chr(171) => 'e', chr(195).chr(172) => 'i', chr(195).chr(173) => 'i', chr(195).chr(174) => 'i', chr(195).chr(175) => 'i', chr(195).chr(177) => 'n', chr(195).chr(178) => 'o', chr(195).chr(179) => 'o', chr(195).chr(180) => 'o', chr(195).chr(181) => 'o', chr(195).chr(182) => 'o', chr(195).chr(182) =>> 'o', chr(195).chr(185) => 'u', chr(195).chr(186) => 'u', chr(195).chr(187) => 'u', chr(195).chr(188) => 'u', chr(195).chr(189) => 'y', chr(195).chr(191) => 'y', // Decompositions for Latin Extended-A chr(196).chr(128) => 'A', chr(196).chr(129) => 'a', chr(196).chr(130) => 'A', chr(196).chr(131) => 'a', chr(196).chr(132) => 'A', chr(196).chr(133) => 'a', chr(196).chr(134) => 'C', chr(196).chr(135) => 'c', chr(196).chr(136) => 'C', chr(196).chr(137) => 'c', chr(196).chr(138) => 'C', chr(196).chr(139) => 'c', chr(196).chr(140) => 'C', chr(196).chr(141) => 'c', chr(196).chr(142) => 'D', chr(196).chr(143) => 'd', chr(196).chr(144) => 'D', chr(196).chr(145) => 'd', chr(196).chr(146) => 'E', chr(196).chr(147) => 'e', chr(196).chr(148) => 'E', chr(196).chr(149) => 'e', chr(196).chr(150) => 'E', chr(196).chr(151) => 'e', chr(196).chr(152) => 'E', chr(196).chr(153) => 'e', chr(196).chr(154) => 'E', chr(196).chr(155) => 'e', chr(196).chr(156) => 'G', chr(196).chr(157) => 'g', chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',
Das obige ist der detaillierte Inhalt vonWie entferne ich Akzente aus Zeichenfolgen in PHP mithilfe einer benutzerdefinierten Funktion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!