Sonderzeichen durch Basiszeichen in PHP ersetzen
Die Aufgabe besteht darin, Akzentzeichen in ihre Basisäquivalente in PHP umzuwandeln. Beispielsweise sollte „ã“ zu „a“ und „é“ zu „e“ werden.
Lösung:
Während es möglich ist, mathematische Operationen auf ASCII durchzuführen Werte, gibt es einfachere Methoden.
Verwendung der Normalizer-Klasse:
PHP stellt eine Normalizer-Klasse bereit, die den Prozess der Zeichenkonvertierung vereinfachen kann. Der folgende Code demonstriert seine Verwendung:
<code class="php">use Normalizer; $string = "ãé"; $base_string = Normalizer::normalize($string, Normalizer::FORM_D);</code>
Benutzerdefinierte Funktion:
Wenn die Normalizer-Klasse nicht verfügbar ist, können Sie eine benutzerdefinierte Funktion erstellen, um die Ersetzung durchzuführen:
<code class="php">function Unaccent($string) { return preg_replace('~&([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '', htmlentities($string, ENT_QUOTES, 'UTF-8')); }</code>
Diese Funktion verwendet reguläre Ausdrücke, um akzentuierte Zeichen abzugleichen und durch ihre Basisäquivalente zu ersetzen.
Verwendung:
<code class="php">$string = "ãé"; $base_string = Unaccent($string);</code>
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Akzentzeichen in Basisäquivalente in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!