ホームページ  >  に質問  >  本文

2 つの文字列を比較し、アクセントを無視します (ただし、置換はしません)。 PHP

<p>(たとえば) 2 つの文字列を取得します。 </p> <pre class="brush:php;toolbar:false;">$a = "joao"; $b = "ジョアン"; if (strtoupper($a) == strtoupper($b)) { $b をエコーし​​ます。 }</pre> <p>アクセントがあってもそうなることを願っています。ただし、「joao」の代わりに「joão」を出力する必要があるため、アクセントを置換するのではなく無視する必要があります。 </p> <p>私が見たすべての回答では、比較を true にするのではなく、「ã」を「a」に置き換えています。正規化について読んだことがありますが、それを機能させることができません。何か案は?ありがとう。 </p>
P粉476046165P粉476046165446日前463

全員に返信(2)返信します

  • P粉068510991

    P粉0685109912023-08-18 11:34:44

    htmlentities の使用を回避し、すべての文字置換を手動でリストする必要がない、洗練されたソリューションを共有したいと思います。これは this 投稿の PHP 翻訳です。

    リーリー

    出力:

    リーリー

    返事
    0
  • P粉470645222

    P粉4706452222023-08-18 10:51:27

    アクセント付き文字をアクセントなしの文字に変換し、文字列を比較するだけです。私の答えの関数はアクセントを削除します。

    リーリー

    出力:

    リーリー ######デモ######

    返事
    0
  • キャンセル返事