Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich Akzentzeichen in PHP in ihre Basiszeichen umwandeln?

Wie kann ich Akzentzeichen in PHP in ihre Basiszeichen umwandeln?

Mary-Kate Olsen
Freigeben: 2024-11-01 08:32:02
Original
339 Leute haben es durchsucht

How can I convert accented characters to their base characters in PHP?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Beispielverwendung:

Um „ã“ durch „a“ zu ersetzen und „é“ mit „e“:

<code class="php">$string = "ãé";
$unaccentedString = unaccent($string);</code>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage