PHP でアクセント付き文字を基本文字に変換する
PHP 言語には、アクセント付き文字を対応する基本文字に置き換える機能が用意されています。
Normalizer クラスの使用
Normalizer クラスは、アクセントやその他の発音記号を含む文字の正規化のために設計されています。このクラスを使用してアクセントを削除するには:
<code class="php">use Normalizer; $string = Normalizer::normalize($string, Normalizer::FORM_D);</code>
カスタム アクセント文字置換
Normalizer クラスを使用したくない場合、またはアクセント置換をカスタマイズする必要がある場合は、次の関数を使用できます:
コード:
<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>
使用例:
「ã」を置き換えるには"a" および "é" と "e":
<code class="php">$string = "ãé"; $unaccentedString = unaccent($string);</code>
仕組み:
この関数は、アクセント付き文字を次を使用して HTML エンティティ表現に変換します。 htmlentities()。次に、正規表現によって HTML エンティティが基本文字に置き換えられます。
この方法は、最も一般的なアクセントと互換性がありますが、網羅的ではなく、考えられるすべてのケースをカバーしているわけではない可能性があります。
以上がPHP でアクセント付き文字を基本文字に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。