PHP で文字からアクセントを削除するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-31 00:27:29
オリジナル
753 人が閲覧しました

How Can I Remove Accents from Characters in PHP?

PHP での文字のアクセントの解除

PHP では、さまざまな方法を使用して、アクセント付きの文字から基本文字を抽出できます。 1 つのアプローチには、ネイティブ文字正規化機能を提供する Normalizer クラスの利用が含まれます。残念ながら、Normalizer クラスは、古い PHP バージョンや特定のホスティング プラットフォームでは利用できない場合があります。

代替方法としては、正規表現と文字置換を使用します。 Unaccent として知られる次の関数は、一般的なアクセント記号を文字列から効果的に削除します。

<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>
ログイン後にコピー

この関数は、まず htmlentities を使用して、アクセント付き文字を HTML エンティティに変換します。次に、アクセント記号を含むアクセント付き文字を識別して取得する正規表現を適用します。置換パターン内の $1 プレースホルダーにより、基本文字のみが保持されることが保証されます。

たとえば、この関数を「ã」と「é」に使用すると、それぞれ「a」と「e」が生成されます。

以上がPHP で文字からアクセントを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート