2 つの文字列を比較し、アクセントを無視します (ただし、置換はしません)。 PHP
P粉476046165
2023-08-17 16:16:51
<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>
htmlentities の使用を回避し、すべての文字置換を手動でリストする必要がない、洗練されたソリューションを共有したいと思います。これは this 投稿の PHP 翻訳です。
リーリー出力:
リーリーアクセント付き文字をアクセントなしの文字に変換し、文字列を比較するだけです。私の答えの関数はアクセントを削除します。
リーリー出力:
リーリー ######デモ######