Sonderzeichen durch ihre Basisäquivalente in PHP ersetzen
Frage: Ist es möglich, Sonderzeichen durch ihre zu ersetzen? Basisäquivalente in PHP, wie etwa die Umwandlung von „ã“ in „a“ und „é“ in „e“?
Antwort: Ja, es ist möglich, Akzentzeichen durch ihre Basis zu ersetzen Äquivalente mit PHP.
Methode:
Wenn Sie Zugriff auf die Normalizer-Klasse haben, können Sie die Methode Normalizer::normalize() mit dem Normalizer::FORM_D verwenden Konstante:
<code class="php">$string = "ãé"; $baseString = Normalizer::normalize($string, Normalizer::FORM_D);</code>
Wenn Sie keinen Zugriff auf die Normalizer-Klasse haben, können Sie die folgende Funktion verwenden:
<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 HTML-Entitäten in ihre entsprechenden Zeichen und dann Entfernt häufige Akzentzeichen mithilfe regulärer Ausdrücke.
Beispiel:
<code class="php">$string = "ãé"; $baseString = Unaccent($string);</code>
Die resultierende $baseString-Variable enthält „ae“.
Das obige ist der detaillierte Inhalt vonWie ersetze ich Sonderzeichen durch ihre Basisäquivalente in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!