ホームページ >バックエンド開発 >PHPチュートリアル >PHP でアクセント付き文字を基本文字に変換する方法

PHP でアクセント付き文字を基本文字に変換する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-30 15:44:26941ブラウズ

How to Convert Accented Characters to Base Equivalents in PHP?

PHP で特殊文字を基本文字に置き換える

このタスクは、アクセント付き文字を PHP の基本文字に変換することです。たとえば、「ã」は「a」になり、「é」は「e」になるはずです。

解決策:

ASCII で数学演算を実行することは可能ですが、

Normalizer クラスの使用:

PHP には、文字変換のプロセスを簡素化できる Normalizer クラスが用意されています。次のコードはその使用法を示しています:

<code class="php">use Normalizer;

$string = "ãé";
$base_string = Normalizer::normalize($string, Normalizer::FORM_D);</code>

カスタム関数:

Normalizer クラスが使用できない場合は、置換を実行するカスタム関数を作成できます。

<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>

この関数は正規表現を使用して、アクセント付き文字を基本の同等の文字と照合して置換します。

使用法:

<code class="php">$string = "ãé";
$base_string = Unaccent($string);</code>

以上がPHP でアクセント付き文字を基本文字に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。