Umwandeln von Akzentzeichen in Basiszeichen in PHP
Die PHP-Sprache bietet Funktionen zum Ersetzen von Akzentzeichen durch ihre Basis-Gegenstücke.
Verwenden der Normalizer-Klasse
Die Normalizer-Klasse ist für konzipiert Zeichennormalisierung, einschließlich Akzenten und anderen diakritischen Zeichen. So entfernen Sie Akzente mithilfe dieser Klasse:
<code class="php">use Normalizer; $string = Normalizer::normalize($string, Normalizer::FORM_D);</code>
Benutzerdefinierte Zeichenersetzung mit Akzenten
Wenn Sie die Normalizer-Klasse nicht verwenden möchten oder die Akzentersetzung anpassen müssen, Sie können Folgendes verwenden Funktion:
Code:
<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>
Beispielverwendung:
Um „ã“ durch „a“ zu ersetzen und „é“ mit „e“:
<code class="php">$string = "ãé"; $unaccentedString = unaccent($string);</code>
Wie es Funktioniert:
Diese Funktion wandelt die Zeichen mit Akzent mithilfe von htmlentities() in ihre HTML-Entitätsdarstellungen um. Der reguläre Ausdruck ersetzt dann die HTML-Entität durch das Basiszeichen.
Diese Methode ist mit den meisten gängigen Akzenten kompatibel, erhebt jedoch keinen Anspruch auf Vollständigkeit und deckt möglicherweise nicht alle möglichen Fälle ab.
Das obige ist der detaillierte Inhalt vonWie kann ich Akzentzeichen in PHP in ihre Basiszeichen umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!