Deakzentuierung von Zeichen in PHP
In PHP kann das Extrahieren des Basiszeichens aus seinem akzentuierten Gegenstück mit verschiedenen Methoden erreicht werden. Ein Ansatz besteht darin, die Normalizer-Klasse zu verwenden, die native Funktionen zur Zeichennormalisierung bietet. Leider ist die Normalizer-Klasse in älteren PHP-Versionen oder auf bestimmten Hosting-Plattformen möglicherweise nicht verfügbar.
Eine alternative Methode beinhaltet die Verwendung regulärer Ausdrücke und Zeichenersetzung. Die folgende Funktion, bekannt als Unaccent, entfernt effektiv häufige Akzentzeichen aus einer Zeichenfolge:
<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 konvertiert zunächst Zeichen mit Akzent mithilfe von htmlentities in ihre HTML-Entitäten. Anschließend wird ein regulärer Ausdruck angewendet, der das akzentuierte Zeichen, einschließlich des Akzentzeichens, identifiziert und erfasst. Der Platzhalter $1 im Ersetzungsmuster stellt sicher, dass nur das Basiszeichen beibehalten wird.
Beispielsweise würde die Verwendung dieser Funktion für „ã“ und „é“ „a“ bzw. „e“ ergeben.
Das obige ist der detaillierte Inhalt vonWie kann ich Akzente aus Zeichen in PHP entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!