Heim  >  Artikel  >  Backend-Entwicklung  >  Wie ersetze ich Sonderzeichen durch ihre Basisäquivalente in PHP?

Wie ersetze ich Sonderzeichen durch ihre Basisäquivalente in PHP?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 17:54:03990Durchsuche

How to Replace Special Characters with Their Base Equivalents in PHP?

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('~&amp;([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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn