PHPでアクセントを置換する方法


  1. mb_ereg_replace()関数を使用する方法:

    $text = "あいうえお";
    $text = mb_ereg_replace('[ぁ-ん]', '', $text);
    echo $text;  // 結果: いうえお

    この例では、mb_ereg_replace()関数を使用して、ひらがなの範囲内の文字を空文字に置換しています。アクセントのないテキストが出力されます。

  2. Normalizerクラスを使用する方法:

    $text = "caf\u00e9";
    $text = Normalizer::normalize($text, Normalizer::FORM_D);
    $text = preg_replace('/\p{Mn}/u', '', $text);
    echo $text;  // 結果: cafe

    この例では、Normalizer::normalize()関数を使用してテキストを正規化し、preg_replace()関数を使用してアクセント文字を削除しています。"caf\u00e9"というテキストが"cafe"に変換されます。

  3. iconv関数を使用する方法:

    $text = "Mötley Crüe";
    $text = iconv('UTF-8', 'ASCII//TRANSLIT', $text);
    echo $text;  // 結果: Motley Crue

    この例では、iconv()関数を使用してUTF-8エンコーディングのテキストをASCIIエンコーディングに変換し、アクセント文字を置換しています。"Mötley Crüe"というテキストが"Motley Crue"に変換されます。

これらの方法を使用すると、PHPでアクセントを置換することができます。適用する方法は、特定の要件や環境に応じて選択してください。