PHP での文字のアクセントの解除
PHP では、さまざまな方法を使用して、アクセント付きの文字から基本文字を抽出できます。 1 つのアプローチには、ネイティブ文字正規化機能を提供する Normalizer クラスの利用が含まれます。残念ながら、Normalizer クラスは、古い PHP バージョンや特定のホスティング プラットフォームでは利用できない場合があります。
代替方法としては、正規表現と文字置換を使用します。 Unaccent として知られる次の関数は、一般的なアクセント記号を文字列から効果的に削除します。
<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>
この関数は、まず htmlentities を使用して、アクセント付き文字を HTML エンティティに変換します。次に、アクセント記号を含むアクセント付き文字を識別して取得する正規表現を適用します。置換パターン内の $1 プレースホルダーにより、基本文字のみが保持されることが保証されます。
たとえば、この関数を「ã」と「é」に使用すると、それぞれ「a」と「e」が生成されます。
以上がPHP で文字からアクセントを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。